Robotium, test automático del interface en Android

Robotium es un framework creado para implementar test automáticos de aplicaciones Android. Con esta herramienta se puede testear cualquier tipo de aplicación visual como Activities o Dialogs. Asemejandolo con el mundo del desarrollo web, se podría decir que Robotium es el Selenium de Android.

La dinámica de trabajo con este framework es la programación de acciones que simulen al usuario. Por ejemplo, se puede realizar la acción de realizar click en un texto especificado, introducir un texto en una caja de entrada concreta o busca un texto en el propio formulario. Realizando varias de estas acciones se puede comprobar si hay un texto de salida mediante un Assert y de esta forma validar si la aplicación funciona bien y pasa el test.

Un ejemplo de código en el test sería el siguiente:

solo.sendKey(Solo.MENU); 
solo.clickOnText("Archivo");
solo.clickOnText("Nuevo"); 
Assert.assertTrue(solo.searchText("Crear nueva ficha")); 

Si deseas probar este framework aquí comento los pasos a realizar:

  • Instalar las herramientas que ofrece y recomienda Google: Eclipse, ADT (Android Develepment Tools), SDK (Software Development Kit) y JDK (Java Development kit).

  • Descargar el fichero robotium-solo-(version).jar que contiene el framework.

  • Será necesario que tengas un proyecto Android con la aplicación que deseas testear.

  • Crear un proyecto de Test Android: Pulsar File->New->Project->Android->Android Test Project.

  • Añadir el fichero jar al proyecto: Pulsar en el proyecto->Build path->Configure Build Path y añadir el jar de Robotium.

  • Modificar el fichero AndroidManifest.xml y cambiar en el atributo targetPackage de ApplicationTesting a ApplicationToTest.

  • Crear un test de ejemplo: Pulsar New->Class, derivar esta clase de ActivityInstrumentationTestCase2 e implementar los test que se deseen.

  • Para probarlo es necesario que el fichero apk tenga el mismo certificado que el proyecto de test. Para ello será recomendable darle un vistazo a la firma de aplicaciones del manual de android.

  • Finalmente ejecutar los test: Pulsar en el proyecto Run As>Android JUnit Test.

Como todos los test automáticos del interface visual, tienen problemas con la estabilidad de propio test. El principal problema que nos podemos encontrar es con la modificación del propio interface, algo habitual cuando se está desarrollando y diseñando la aplicación. Si ocurriese alguna modificación en algún texto, los test afectados se deberían cambiar modificandolos a los nuevos literales.

Al igual que otros test automáticos se puede utilizar con Maven o Ant para integrar las pruebas en algún servidor de integración continua como Jenkins y de esta forma calcular los resultados de los test de manera automática para tenerlos siempre a disposición del equipo.

La licencia de este framework es Apache 2.0 y actualmente se encuentra por la versión 1.7.1. Una herramienta interesante para aquellos apasionados del testing y de Android.

Link de descarga | Robotium

Portada de Genbeta