¿Qué es el UITesting y para qué nos sirve?

¡Hola developers!

Hoy, vamos a hacer una pequeña introducción sobre lo qué es UITesting y además, daremos unas pequeñas indicaciones para configurar y crear un proyecto con esta herramienta.  ¡Vamos a ello!

¿Qué es UITesting? 

El UITesting es un tipo de testing funcional que aplicaremos sobre la interfaz de Usuario de una aplicación.

El UITesting se puede realizar tanto en nativo desde los SDKs de iOS y Android, como en multiplataforma desde, por ejemplo, Xamarin, que es en el que nos vamos a centrar en este post.

¿Para qué sirve? 

Principalmente UITesting, bien configurado desde el principio del desarrollo, nos ayudará a:

  1. Un buen funcionamiento de la app
  2. Control de los cambios de la interfaz en una vista
  3. Crear patrones de pruebas para la aplicación
  4. Automatizar las pruebas de la interfaz en varios dispositivos diferentes.

 

Un buen UITesting es el que se desarrolla acto seguido de crear la interfaz de usuario. Esto nos ayudará a tener control sobre las capacidades de la vista. En caso de que el modelo de la vista, funcionalidad o característica de ésta cambie, el UITesting también nos permitirá asegurarnos de que el resto de la aplicación y funcionalidades no se vean afectadas. 

¿Qué se necesita para crearlo? 

  1. En primer lugar, crear un proyecto de UITesting en nuestra solución.
  2. Instalar una serie de librerías
  3. Instalar «Xamarin Test Recorder» (Esto nos facilitará el proceso)

 

Veremos cómo configurar el proyecto en el siguiente apartado.

Xamarin UITesting se nutre de Calabash, que es un framework utilizado para automatizar los test de interfaz de usuario, tanto en iOS como en Android.

A su vez, la primera vez que lancemos el test, se nos instalará una app en el dispositivo llamada TestAgent, que la lanzará automáticamente siempre antes de lanzar ningún test.

Y ahora, que ya sabemos qué es UITesting y qué necesitamos para crearlo, ¡Vamos a  por ello!

 


Configuración y creación del proyecto TestUI

Crear un proyecto UITest en una solución, es muy similar a agregar un proyecto de biblioteca de clase C#.

Las plantillas de Xamarin para un proyecto UITest, instalan automáticamente los paquetes «NUnit«, y «Xamarin.UI Test«.

Hay que añadir el paquete «Xamarin.UI Test» en el proyecto de iOS y asegurarnos de que la versión es la misma versión que la del proyecto de UITest.

 

Para crear un proyecto:

  1. Hacemos click en el botón derecho sobre la solución y seleccionamos Add > Add New Project
    uitest1.png
  2. Se nos abrirá una ventana con distintas plantillas. Seleccionamos la pestaña Test y nos aparecerá la plantilla de «UI Test App«. La seleccionamos y le damos a siguiente, en la que nos pide que pongamos el nombre:
    uitest2.png

 

Con estos sencillos pasos, ya tenemos creado nuestro proyecto de UITest, pero aún nos queda asociar los proyectos de cada plataforma con el proyecto de UITest.

Esto nos permitirá que Xamarin Studio ejecute los UITest localmente y mostrar los resultados del test en el panel de Unit Test.

 


¿Cómo asociar los proyectos de cada plataforma con el proyecto UITest? 

  1. Abrimos el panel de Unit Test. Para ello seleccionamos View > Pads > Unit Testsuitest3.png
  2. Abrimos el panel de Unit Test que está en la parte derecha, y vamos expandiendo hasta llegar a «Test Apps»uitest4.png
  3. Hacemos click con el botón derecho sobre «Test Apps» y se abrirá una ventana para seleccionar los proyectos que queremos asociar:  uitest5.png
  4. Seleccionamos los proyectos de Android e iOS y le damos a OK.

 

¡Con estos pasos ya tenemos nuestro proyecto de UITest listo para empezar a crear los test!

Como este post se nos ha hecho ya bastante largo, en el segunda parte veremos cómo configurar un proyecto en iOS y en Android y cómo crear y ejecutar los test. 

¡No os lo perdáis!