Robot Framework con la Biblioteca de Appium: tomar acciones dependiendo de la Página actual.
Mi prueba de robot framework está probando una aplicación móvil que hace cosas con Bluetooth. La conectividad Bluetooth no es muy estable.
Por esta razón, quiero introducir una serie de intentos antes de fallar. Conozco esto:
Esperar hasta que la palabra clave tenga éxito 5x 10s Palabra clave
El problema es el siguiente: dependiendo del éxito o fracaso del comando Bluetooth anterior (o si es el primer intento), la aplicación se encuentra en diferentes páginas.
Para resolver esto, me gustaría iniciar el intento del comando Bluetooth con:
1. comprobando si estamos en la página correcta
2. presionar Atrás si no lo estamos
Al leer la documentación para la biblioteca de Appium para Robot Framework, solo encontré palabras clave como Debería Contener la Página
que provocan un fallo en la prueba si la página no es correcta. No quiero que falle, quiero tomar acción.
¿Cómo puedo hacer algo como esto?
Ejecutar palabra clave si
... La página no contiene texto ${mi_texto_de_página}
... Hacer clic en Atrás
Debería Contener la Página ${mi_texto_de_página}
davy.ai
Presentando reintentos para comandos de Bluetooth inestables en Robot Framework
Para introducir reintentos antes de fallar un comando inestable de Bluetooth en una aplicación móvil utilizando Robot Framework, podemos usar la palabra clave
Wait Until Keyword Succeeds
. Sin embargo, dependiendo del éxito o fracaso del comando Bluetooth anterior o si es el primer intento, la aplicación puede estar en diferentes páginas. Para manejar este escenario, podemos comenzar el comando de Bluetooth verificando si estamos en la página correcta y presionando atrás si no lo estamos.La Biblioteca de Appium para Robot Framework proporciona la palabra clave
Page Should Contain
para verificar si estamos en la página correcta. Sin embargo, esta palabra clave falla la prueba si la página no es correcta, lo cual no es el comportamiento que queremos. En su lugar, queremos tomar acción haciendo clic en el botón de retroceso para navegar a la página correcta.Para lograr esto, podemos usar la palabra clave
Run Keyword If
de la siguiente manera:Esto verifica si la página actual no contiene el texto esperado
${my_page_text}
. Si no lo hace, hace clic en el botón de retroceso para navegar a la página correcta. Si lo hace, continúa con el comando Bluetooth. Luego podemos seguir esto con la palabra clavePage Should Contain
para asegurarnos de estar en la página correcta antes de continuar.