Как я могу нажимать кнопки в Центре управления?

Я новичок, когда дело доходит до Swift и UITesting. У меня есть тестовый пример, который должен отключить интернет-соединение устройства, но, поскольку я не могу этого сделать, я попытался получить доступ к центру управления, проведя пальцем по самому нижнему элементу, доступному в приложении.

let app = XCUIApplication()
app.buttons["Device"].swipeUp()
app.buttons["Device"].swipeUp()

Теперь это показывает центр управления, но когда я пытаюсь нажать кнопку режима полета или кнопку Wi-Fi, это не удается.

app.otherElements["Airplane Mode"].tap()
app.otherElements["Wi-Fi"]

См. снимок экрана здесь

Пожалуйста, помогите мне, как это сделать, а если нет, обходной путь, чтобы включить или отключить интернет-соединение моего устройства, спасибо!


person KeyAscii    schedule 11.04.2016    source источник
comment
Пожалуйста, прочитайте stackoverflow.com/questions/20469425/   -  person Robski18    schedule 11.04.2016
comment
Я думаю, что ссылка, которую вы мне дали, предназначена для разработки приложения, я просто тестирую его.   -  person KeyAscii    schedule 12.04.2016


Ответы (1)


Не существует надежного способа сделать это с помощью тестирования пользовательского интерфейса. В тестировании пользовательского интерфейса вы можете увидеть иерархию представлений только тестируемого приложения. Центр управления находится за пределами вашего приложения, поэтому у вас нет доступа к его иерархии представлений.

Если вы действительно хотите это сделать, один из способов — жестко закодировать координаты, а затем выполнить действия касания. Поскольку в тестировании пользовательского интерфейса нет механизма для прямого указания координаты, лучший способ сделать это — использовать координатуWithNormalizedOffset(normalizedOffset: CGVector).

person Naveen Kumar S R    schedule 12.04.2016