簡體   English   中英

從 XCTest UI 測試中的活動呼叫打開 CallKit 屏幕

[英]Open CallKit screen from an active call in XCTest UI test

我有一個 XCTest UI 測試,其中兩個設備使用 CallKit 建立呼叫。 當來電到達被叫方時,會顯示 CallKit 屏幕。 一旦他接聽電話,就會顯示主測試應用程序,並且 CallKit 屏幕將變為背景。 這是默認行為。

有沒有辦法切換回 CallKit 屏幕? 它不一定需要是 XCTest 方法,它可以是僅由測試包調用的常規 SDK 代碼。

我嘗試記錄打開多任務視圖並切換到 CallKit 的過程,結果如下:

let app = XCUIApplication()
app.children(matching: .window).element(boundBy: 0).children(matching: .other).element.children(matching: .other).element.children(matching: .other).element.tap()
app.otherElements["com.apple.InCallService"].tap()

但是當運行記錄的代碼時,測試失敗並出現以下錯誤:

Assertion Failure: Failed to get matching snapshot: No matches found for Elements matching predicate '"com.apple.InCallService" IN identifiers' from input

我從未這樣做過,但您可以嘗試使用XCUIApplication(bundleIdentifier: "com.apple.mobilephone").launch()切換回呼叫。

嘗試通過以下方式激活此屏幕

XCUIApplication(bundleIdentifier: "com.apple.InCallService").activate()

XCUIApplication(bundleIdentifier: "com.apple.springboard").activate()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM