自动化 Callkit 接听电话

Automating Callkit accept call

我正在致力于 Callkit 交互的自动化测试。 我成功地从客户 A 打电话给 B。

当 B 接到电话时,他会看到 Callkit 屏幕。 手动,我可以单击接受并建立呼叫。 然而当 我尝试记录 Callkit 交互,XCode 崩溃,phone 上的应用程序也在崩溃。

我是否通过尝试自动化 "Accept call" 交互来打破任何安全限制?

因为我无法通过交互记录访问 Callkit 屏幕元素;

我想知道是否有人对这种自动化有任何经验,或者是否有人可以向我指出描述 Callkit 屏幕按钮 ID 的文档。

  1. 你应该确定这个屏幕的应用。大概,跳板。尝试使用控制台应用程序进行检查。
  2. 然后,使用 let app = XCUIApplication(bundleIdentifier: )
  3. 初始化与此应用程序的交互
  4. 使用断点和 po app 命令检查应用层次结构以获取标签和辅助功能标识符。或者使用辅助功能检查器。
  5. 执行所需的操作是代码(点击 and/or 滑动)

谢谢@聪明猴子让我走上正轨

我使用 Springboard 应用成功接听了电话。

 let springboard = XCUIApplication(bundleIdentifier: "com.apple.springboard")
 springboard.buttons["Accept"].tap()

然后正确建立呼叫。