XCUITest - нажмите на элементы на домашнем экране - PullRequest
0 голосов
/ 16 апреля 2020

Есть ли в XCUITest способ доступа к элементам на домашнем экране?

Прямо сейчас, если я создаю фон для запущенного приложения, попробуйте получить доступ к элементу на нем. то есть

XCUIApplication().launch()
XCUIDevice.shared.press(XCUIDevice.Button.home)
XCUIApplication().otherElements["Dock"].icons["Settings"].tap()

Failed to get matching snapshot: Application is not running

Я также пытался с координатами и получил тот же результат, так как для координат также, кажется, требуется элемент из основного приложения, а не HomeScreen. Было бы хорошо, если бы я мог нажать на элементы на HomeScreen.

1 Ответ

1 голос
/ 16 апреля 2020

Да, вы можете взаимодействовать с другими приложениями с помощью XCTest.

Используйте инициализацию XCUIApplication(bundleIdentifier:_), чтобы настроить взаимодействие с другими приложениями.

В вашем случае вы можете открыть приложение «Настройки» с помощью

let springboard = XCUIApplication(bundleIdentifier: "com.apple.springboard")
springboard.icons("Settings").tap()

или полностью пропустить трамплин и go напрямую перейти к настройкам с помощью

let settings = XCUIApplication(bundleIdentifier: "com.apple.Preferences")
settings.launch()

. Вы можете найти другие Идентификаторы пакета системных приложений здесь: https://github.com/rzakhar/XCTApps/blob/master/Sources/XCTApps/iOS.swift

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...