#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*/ }
Для этого необходимо установить идентификатор доступности для элементов представления.