Prueba de interfaz de usuario de Xcode: ¿la label de staticText no se actualiza a medida que se actualiza el text?

Fondo

Estoy investigando la migration de nuestra automation basada en Appium a Xcode UI Testing. Dado que nuestra aplicación está escrita en Objective CI, también es necesario utilizar Objective-C para el código de testing.

La aplicación para la que estoy automatizando las testings tiene una barra de progreso cuyos valores quiero leer. No es un UIAProgressIndicator , solo un UIAStaticText cuyo valor aumenta de "0" a "100%".

El XCUIElement correspondiente a este staticText se puede acceder como

 [[app staticTexts] elementBoundByIndex:1] 

La barra de progreso tomará diferentes cantidades de time, y necesito controlar el progreso, lo que implicará leer el valor (y analizarlo, por supuesto).

Intenté get el valor usando varios methods: [XCUIElement value] y [XCUIElement label] .

 NSString *prog = [[[app staticTexts] elementBoundByIndex:1] label]; 

El enfoque de la label me está haciendo llegar la cadena de progreso, así que estoy haciendo esto en un ciclo, por ejemplo

  int i=0; while (i<5) { //custom sleep method [self.helper threadSleepForSeconds:[NSNumber numberWithInt:2]]; //now get progress text NSString *prog = [[[app staticTexts] elementBoundByIndex:1] label]; i++; } 

Sin embargo, a medida que el progreso cambia, el atributo de label no se actualiza, parece que sigue mostrando el primer valor que se leyó , como si se hubiera almacenado en caching en alguna parte.

es decir, la salida de logging muestra (suponiendo que el primer valor leído fue del 19%):

 19% 19% 19% 19% 

No puedo entender por qué sucede esto. ¿Alguna ayuda?

No hay evento sintetizado, por lo que Xcode no intenta tomar una nueva instantánea de los elementos de la interfaz de usuario en la pantalla. Esto es por layout, de modo que asignar varias variables de elementos de Ui en una vista específica no sobrecargue su computadora.

Desafortunadamente, las testings manuales pueden ser su única opción si no está satisfecho con las testings unitarias.