Автоматизация Callkit Accpet Call

Я работаю над автоматизацией тестирования взаимодействия Callkit. Мне удалось позвонить с клиента А на Б.

Когда B получает вызов, ему показывают экран Callkit. Вручную, я могу нажать принять и звонок будет установлен. Однако, когда я пытаюсь записать взаимодействие Callkit, происходит сбой XCode и приложения на телефоне.

Нарушаю ли я какое-либо ограничение безопасности, пытаясь автоматизировать взаимодействие «Принять вызов»?

Поскольку я не могу получить доступ к элементу экрана Callkit через запись взаимодействия;

Мне интересно, может ли кто-нибудь испытать подобную автоматизацию или кто-то может указать мне документацию, в которой описаны идентификаторы кнопок для экрана Callkit.

Всего 2 ответа


  1. Вы должны определить применение этого экрана. Наверное, трамплин. Попробуйте проверить с помощью консольного приложения.
  2. Затем инициализируйте взаимодействие с этим приложением с помощью let app = XCUIApplication(bundleIdentifier: )
  3. Проверьте иерархию приложения с помощью точки останова и команды po app чтобы получить метки и идентификаторы доступности. Или используйте инспектор доступности.
  4. Делать необходимые действия это код (постукивает и / или проводит)

Спасибо @Smart Monkey за то, что поставили меня на хорошую трассу

Мне удалось принять вызов с помощью приложения Springboard.

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

Вызов тогда правильно установлен.


Есть идеи?

10000