Test automatizados en iOS

Se ha hablado en anteriores artículos, sobre como nos ayuda la automatización de test. En este articulo vamos a centrarnos en cómo realizar test automáticos en iOS.

Cosas a tener en cuenta antes de empezar:

  • se debe validar que el test ha terminado correctamente, con el comportamiento esperado.
  • se debe dejar la aplicación en el estado inicial, de ese modo los test se pueden ejecutar independientemente

¿Por dónde empezar para realizar test automáticos en iOS?

Automation de Instruments es una buena herramienta para automatizar test en iOS. IEs sencillo, sólo se necesita tener instalado Xcode (el IDE para desarrollar en iOS). En Xcode, seleccionamos Open Develop Tools, luego seleccionamos Instruments y entonces Automation

El primer paso seria seleccionar el objetivo (dispositivo y aplicación). Se puede usar tanto un simulador como un dispositivo real.

Test automáticos en iOS

Una vez realizado el paso anterior, podemos pulsar sobre el botón “Añadir” para crear un script o importar un script (archivo javaScript). Ahora podemos pulsar sobre el botón rojo, de modo que el programa generare el código que reproduce las acciones que estamos realizando sobre el dispositivo. O bien, podemos escribir el código nosotros mismo.

Lo mejor, es grabar los pasos sobre el caso de uso que se quiere probar, y modificarlo luego si es necesario.

Recuerda grabar los pasos, para dejar la aplicación en el estado inicial.

Las funciones mása útiles

Como ya hemos comentado, se debe añadir el código para validar el resultado del test: si ha finalizado como esperábamos o no. El hecho de que un elemento este habilitado, visible o incluso que exista, son el tipo de condiciones que nos pueden ayudar a determinar si un test ha terminado correctamente.

Estas funciones nos pueden ayudar:

  • isVisible() : nos indica si un elemento está visible
  • isEnabled() : nos indica si un elemento está habilitado
  • isValid() or checkIsvalid() : nos indica si un elemento existe

Otra cosa que necesitamos añadir, son los comandos de log. Un test debe empezar con el comando “logStart”, y finalizar con un comando que muestre el resultado del test. Estos son los comandos que se pueden utilizar:

  • logStart : Muestra un log indicando que el test ha empezado.
  • logFail : Muestra un log indicando que el test ha fallado.
  • logIssue : Muestra un log indicando que el test ha finalizado con algún problema.
  • logPass : Muestra un log indicando que el test ha finalizado correctamente.

Ejemplo:


var testName= ‘My First Test’
UIALogger.logStart(testName);
...
if(element.isValid()){
    UIALogger.logPass(testName);
}else{
    UIALogger.logFail(testName);
}

Si el test que hemos grabado no funciona, antes de nada probar a añadir UIATarget.delay(1) entre los diferentes comandos. En muchos casos, solo se necesita un poco de retardo entre comandos para solucionar el problema.

Una vez, que hemos hecho el script, lo podemos guardar como un archivo .trace. Además pulsando con el botón derecho del ratón se puede exportar como un archivo javaScript. Es muy importante exportar a javaScript, porque se necesitara en los siguientes pasos de integración continua

En próximos artículos, hablaremos de otras funciones que son útiles y de cómo integrar estos test con jenkins (integración continua).

Deja un comentario

Responsable » Solidgear.
Finalidad » Gestionar los comentarios.
Legitimación » Tu consentimiento.
Destinatarios » Los datos que me facilitas estarán ubicados en los servidores SolidgearGroup dentro de la UE.
Derechos » Podrás ejercer tus derechos, entre otros, a acceder, rectificar, limitar y suprimir tus datos.

Envíando este formulario aceptas la política de privacidad.

¿Necesitas una estimación?

Calcula ahora