Получить все элементы в представлении приложения iphone с помощью xcode

#ios #iphone #xcode

#iOS #iPhone #xcode

Вопрос:

Я пытаюсь сделать снимок экрана каждого экрана во время автоматизации приложения iphone на симуляторе. Наряду со снимком экрана я также хочу извлечь все строки в этом конкретном представлении, прежде чем делать снимок экрана с помощью xcode. Есть ли способ сделать это? Цель состоит в том, чтобы отправить эти скриншоты и строки для проверки в другой инструмент.

Ответ №1:

Это можно сделать с помощью Web Driver Agent (WDA), предоставленного facebook. Он предоставляет все функции, необходимые для вашего приложения.

Вот ссылка на репозиторий github для него:

https://github.com/facebook/WebDriverAgent

Пожалуйста, взгляните на это. Это может помочь вам достичь вашей цели.

Ответ №2:

Если вы используете платформу XCUITest для автоматизации, вы можете использовать XCUIScreen.main.screenshot() для получения скриншота текущего состояния.

Чтобы получить весь текст, отображаемый в данный момент на экране, вы можете использовать XCUIApplication().descendants(matching: .textField) или .buttons или .any или все, что вы ожидаете увидеть на экране, и извлечь текст из элемента

 let descendants = XCUIApplication().descendants(matching: .textField)
foreach descendant in descendants { descendant.label /*do something*/ }
  

Для этого необходимо установить идентификатор доступности для элементов представления.