Prueba de IU XCode 7: el descarte de UIAlertController generado por el sistema no funciona
Tengo una prueba de IU que implica el rechazo de un sistema generadoUIAlertController
. Esta alerta le pide al usuario permiso para acceder al calendario del dispositivo. El objetivo de la prueba es el comportamiento después de tocar elOK
botón:
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()
Ahora, en lugar de hacer clic en elOK
botón, la línea 2 hace que el simulador toque el primer botón que resulta ser elCancel
botón...
Además, descubrí que el marco de prueba no reconoce con precisión la alerta que aparece. Entonces, si verifico el conteo actual de alertas, siempre obtengo 0:
// ...tap...
let count = app.alerts.count // == 0
Esto también sucede si uso unNSPredicate
para la condición y espere varios segundos.
¿Es posible que las pruebas de IU no funcionen de manera confiable con las alertas generadas por el sistema? Estoy usando XCode 7.0.1.