У меня есть тест пользовательского интерфейса, который включает в себя увольнение системного UIAlertController
. Это предупреждение запрашивает у пользователя разрешение на доступ к календарю устройства. Целью теста является поведение после нажмите на кнопку OK
:XCode 7 UI Тестирование: Увольнение системного UIAlertController не работает
1 let app = XCUIApplication()
...
// this code was basically generated by the recording feature of XCode 7
2 app.alerts.elementBoundByIndex(0).collectionViews.buttons["OK"].tap()
Теперь, вместо того, чтобы нажать на кнопку OK
, линия 2 делает тренажер крана на первой кнопке, которая случается кнопку Cancel
. ..
Кроме того, я узнал, что структура тестирования не точно распознает возникающее предупреждение. Так что, если я проверить текущее количество предупреждений я всегда получаю 0:
// ...tap...
let count = app.alerts.count // == 0
Это также происходит, если я использую NSPredicate
для условия и ждать в течение нескольких секунд.
Возможно ли, что тесты пользовательского интерфейса не работают надежно с системными предупреждениями? Я использую XCode 7.0.1.
Взаимодействие с системными предупреждениями через UI Testing [известная ошибка/проблема] (http://openradar.appspot.com/radar?id=4979891669827584). –
OMG! Путешествие с обнаружением ошибок XCode 7 кажется бесконечной историей ... – Bastian
Больше нет, woot! Проверьте [мой ответ ниже] (http://stackoverflow.com/a/33700623/384110). :-) –