Я пытаюсь проверить в UITests Xcode существование кнопки, которая присутствует в моем режиме входа в систему.Xcode UITest, проверяя существование с таймаутом
Я пробовал (и использовал в других частях кода) метод expectationForPredicate
с помощью метода waitForExpectationsWithTimeout
, но когда кнопка не видна, она не пройдет тест.
Так что моя попытка:
func isLoggedIn(timeout: UInt32 = 10) -> Bool{
let app = XCUIApplication()
let msToWait : UInt32 = 100
for _ in 1 ... (timeout * 1000/msToWait) {
if(app.buttons["Sign in with email"].exists){
return false;
}
usleep(msToWait * 1000)
}
return true;
}
и app.buttons["Sign in with email"].exists
не работает, он всегда возвращает ложь.
Пробовал разные значения msToWait и sleep(1)
вместо usleep()
, тот же результат.
И, конечно, кнопка существует (app.buttons["Sign in with email"].tap()
).
Что я делаю неправильно?