Tutorial de Robotium: su primer marco de trabajo de Android

Tabla de contenido:

Anonim

¿Qué es el Robotium?

Robotium es un marco de pruebas de Android para automatizar casos de prueba para aplicaciones nativas e híbridas. Con Robotium, el desarrollador puede crear un sólido caso de prueba de GUI automático para aplicaciones de Android. Además, el desarrollador podría escribir un escenario de prueba funcional, de sistema y de aceptación, difundiendo muchas actividades de Android.

En este tutorial, aprenderá:

  • Marco de prueba de Robotium
  • Cómo utilizar Robotium
  • PASO 1) Especificación de la prueba de diseño
  • PASO 2) Escriba el programa de PRUEBA
  • PASO 3) Ejecutar prueba
  • PASO 4) Obtenga el resultado de la prueba

Marco de prueba de Robotium

El marco de prueba estándar de Android tiene algunas limitaciones como se muestra a continuación

  • Incapaz de manejar múltiples actividades
  • El rendimiento de la ejecución de la prueba es lento
  • Los casos de prueba son complejos y difíciles de implementar

Robotium framework es la mejor opción para realizar pruebas en aplicaciones de Android

Robotium es un marco de código abierto y se considera una extensión del marco de prueba de Android. Con Robotium, el desarrollador puede crear casos de prueba de GUI automáticos robustos para aplicaciones de Android. Además, el desarrollador puede escribir escenarios de prueba funcionales, de sistema y de aceptación, que abarcan múltiples actividades de Android.

Funciones avanzadas de Robotium

Clases de casos de prueba de Robotium

Robotium usa un conjunto de clases ( com.jayway.android.robotium.solo ) para las pruebas . Esta clase admite casos de prueba que abarcan varias actividades. Solo está integrado con ActivityInstrumentationTestCase2.

Integración Robotium y ActivityInstrumentationTestCase2

El evaluador puede escribir casos de prueba sin conocimientos de diseño de aplicaciones (pruebas de caja negra) mediante el uso de clases de casos de prueba de Robotium. Es una característica sobresaliente en comparación con las clases de casos de prueba de Android.

Cómo utilizar Robotium

Para usar Robotium en su proyecto de prueba de Android, debe seguir los pasos a continuación

Uso de Robotium para realizar pruebas en la aplicación de Android. Para garantizar la calidad de su aplicación de Android, debe seguir el procedimiento a continuación

  1. Especificación de prueba de diseño
  2. Desarrollar programa de prueba
  3. Ejecute el caso de prueba en el dispositivo de destino
  4. Recoger el resultado de la prueba

Procedimiento de prueba de la aplicación de Android

PASO 1) Especificación de la prueba de diseño

  • Este es el primer paso para probar su aplicación. En este paso, defina el objetivo a probar. En su aplicación de Android, hay muchos objetivos que deben probarse, como la interfaz de usuario, la actividad, los componentes y los servicios. Definir claramente el objetivo en su aplicación ayudará a lograr una amplia cobertura de prueba.
  • Planifique los tipos de prueba que se deben realizar (prueba unitaria, prueba funcional, prueba del sistema).
  • Diseñe casos de prueba para una cobertura máxima pero minimice el número de casos de prueba. Cuanto más código se prueba, más posibilidades hay de detección temprana de errores.

PASO 2) Escriba el programa de PRUEBA

Esta sección le guía sobre cómo escribir un programa de prueba de Android usando Android Junit Test y Robotium. Suponga que ya ha desarrollado un programa de Android llamado HelloAndroid. Este programa tiene algunas funciones que se describen a continuación:

  • Muestre un texto "¡Hola mundo!" en la pantalla.
  • Mostrar un mensaje HelloAndroid cuando el usuario presione el botón "Inicio"

Aplicación HelloAndroid

Requisitos del sistema

  • La plataforma Android viene con un marco JUnit 3.0 preintegrado.
  • Para crear un proyecto de prueba de Android desde Eclipse, su computadora debe tener instalado:
    • Última versión de la plataforma Android (actualmente Android 8.1)

Puede descargar Eclipse IDE con ADT (herramientas de desarrollo de Android) integrado. Incluye los componentes esenciales del SDK de Android y una versión del Eclipse IDE.

Para el marco de prueba de Robotium, debe descargar la biblioteca de Robotium desde la página web de Robotium.

Crear proyecto de prueba de Android

  • Haga clic en Archivo -> Nuevo -> Otro
  • Elija: Android -> Proyecto de prueba de Android según la siguiente figura -> Elija Siguiente

Crear un nuevo proyecto de prueba de Android

Escribe el nombre de tu proyecto de prueba. Como convención de nomenclatura, su proyecto de prueba debe llamarse "HelloAndroidTest"

Agregar la base del nombre del proyecto de prueba en la convención de nomenclatura

Elija la aplicación de destino bajo prueba. En este caso, este es HelloAndroid, haga clic en Finalizar

Elija la aplicación de destino bajo prueba

Crear conjuntos de pruebas

Basado en su especificación de prueba, comenzó a crear suites de prueba para su programa de prueba. Puede elegir varios marcos de prueba. En este tutorial, elijo el marco de prueba estándar de Android ActivityInstrumentationTestCase2 . Debe agregar el archivo de biblioteca de Robotium a un directorio libs en la carpeta de su proyecto en caso de que desee probar con el marco de Robotium. (Usted crea la carpeta lib en la carpeta de su proyecto).

Un caso de prueba define el dispositivo para ejecutar múltiples pruebas. Para definir un caso de prueba, debe seguir la estructura del programa a continuación:

  • Implementar una subclase de TestCase.
  • Definir variables de instancia que almacenan el estado del dispositivo.
  • Inicialice el estado del dispositivo anulando setUp ()
  • Limpieza después de una prueba anulando tearDown ().

Estructura del programa de prueba

paquete com.example.helloandroid.test;import com.example.helloandroid.HelloAndroid;import com.jayway.android.robotium.solo.Solo;importar android.test.ActivityInstrumentationTestCase2;importar android.widget.TextView;La clase pública HelloAndroidTest extiende ActivityInstrumentationTestCase2  {actividad privada de HelloAndroid;privado TextView mView;private String resourceString;Solo privado en solitario;public HelloAndroidTest () {// TODO stub de constructor generado automáticamentesuper ("com.example.helloandroid", HelloAndroid.class);}@Anularprotegido vacío setUp () arroja Excepción {// TODO código auxiliar de método generado automáticamente// super.setUp ();mActivity = this.getActivity ();solo = new Solo (getInstrumentation (), getActivity ());mView = (TextView) mActivity.findViewById (com.example.helloandroid.R.id.textview2);resourceString = mActivity.getString (com.example.helloandroid.R.string.hello_world);}@AnulartearDown vacío protegido () lanza Excepción {// TODO código auxiliar de método generado automáticamente//super.tearDown ();solo.finishOpenedActivities ();}public void testPrecondition () {asertNotNull (mView);}/ * La aplicación de prueba Target contiene una pantalla de texto "¡Hola mundo!"public void testSearchText () {asertEquals (resourceString, (String) mView.getText ());}/ * prueba que la actividad de HelloAndroid en la aplicación de destino existe * /public void testCurrentActivity () lanza Exception {solo.assertCurrentActivity ("actividad incorrecta", HelloAndroid.class);}/ * La interfaz de usuario de la aplicación de prueba contiene el botón "Inicio" * // * enviar el botón de clic de evento a la aplicación de destino * /public void testSearchButton () lanza Exception {booleano encontrado = solo.searchButton ("Inicio");solo.clickOnButton ("Inicio");asertTrue (encontrado);}}

Agregar casos de prueba

  • En el mismo paquete con TestSuite, creamos clases TestCase
  • Para probar cierta actividad, es decir, HelloAndroid, cree una extensión de caso de prueba ActivityInstrumentationTestCase2
  • En esta clase, el probador puede obtener la actividad de prueba a través del método getActivity ().
  • Puede crear libremente una prueba para una actividad de prueba creando un método con el nombre "prueba + nombre del método original"
  • En el método de prueba, el probador puede usar la función JUnit de Android para comparar el valor real y el valor esperado. Estos métodos se muestran a continuación.

Métodos de ejemplo de Robotium y marco de prueba de Android

Estos conjuntos de pruebas anteriores verificaron que la GUI de la aplicación debe mostrar un texto "¡Hola mundo!", Y contiene un nombre de botón "Iniciar".

PASO 3) Ejecutar prueba

Una vez que termine de escribir su programa de prueba, ejecute la prueba siguiendo los pasos a continuación.

  • Conecte el dispositivo Android a su PC (o inicie Emulator en caso de que no tenga un dispositivo real).
  • En su IDE, haga clic con el botón derecho en Ejecutar como prueba de unidad de Android

Ejecutando programa de prueba

Además de ejecutar la prueba en IDE, puede ejecutar la prueba en la línea de comandos. En este programa de prueba, el paquete de prueba es com.example.helloandroid.test. En la terminal de Linux , puede usar el siguiente comando para ejecutar todas las pruebas en este paquete:

$ adb shell am instrument -w -e paquete com.example.helloandroid.test

PASO 4) Obtenga el resultado de la prueba

Una vez que se ejecuta la prueba, obtiene los resultados de la prueba.

En este programa de prueba, se ejecutan 4 métodos de prueba. En este caso, se pasan todos los casos de prueba.

Salida de resultado de prueba en caso de que todos los casos de prueba pasen

En caso de que el caso de prueba falle, la salida se muestra y muestra qué casos de prueba fallaron

Salida del resultado de la prueba en caso de que todos los casos de prueba fallaran

Ejemplos de código fuente

Estos artículos incluyen algunos ejemplos de código fuente que le ayudarán a comprender el tutorial con mayor claridad y recuperar rápidamente los conocimientos técnicos.

  • HelloAndroid: Aplicación bajo prueba.
  • HelloAndroidTest: programa de prueba usando el marco de prueba de Android