Tutorial de Robotium: su primer marco de Android

¿Qué es el Robotium?

Robotium es un marco de prueba de Android para automatizar casos de prueba para aplicaciones nativas e híbridas. Con Robotium, el desarrollador puede crear casos de prueba de GUI automáticos y sólidos 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.

Marco de prueba de Robotium

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

  • No se pueden manejar múltiples actividades
  • El rendimiento de ejecución de la prueba es lento
  • Los casos de prueba son complex y difícil de implementar

robóticomarco 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 y sólidos para aplicaciones de Android. Además, el desarrollador puede escribir escenarios de pruebas funcionales, de sistema y de aceptación, que abarquen múltiples actividades de Android.

Funciones avanzadas de Robotium
Funciones avanzadas de Robotium

Clases de casos de prueba de Robotium

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

Clases de casos de prueba de Robotium
Integración Robotium y ActivityInstrumentationTestCase2

El evaluador puede escribir casos de prueba sin conocimientos de diseño de aplicaciones (negro box testing) 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 utilizar Robotium en su proyecto de prueba de Android, debe seguir los pasos a continuación

Usar robotio

Uso de Robotium para realizar pruebas en aplicaciones 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. Implementación Caso de prueba en el dispositivo de destino
  4. Recoger el resultado de la prueba
Aplicación de Android
Procedimiento de prueba de aplicaciones de Android Pruebas procedimientos

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

  • Este es el primer paso para probar su aplicación. En este paso, define 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 pruebas 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 se prueba el código, mayores son las posibilidades de detección temprana de errores.

PASO 2) Escribir el programa de PRUEBA

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

  • Muestra un texto "¡Hola mundo!" en la pantalla.
  • Mostrar un mensaje HelloAndroid cuando el usuario presiona el botón "Inicio"
Holaaplicación Android
Holaaplicación Android

Requisitos del sistema

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

solicite 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 pruebas de Robotium, debe desactivar la biblioteca de Robotium desde página web de robotium.

Crear proyecto de prueba de Android

  • Haga clic en Archivo -> Nuevo -> Otro
  • Elija: Android -> Proyecto de prueba de Android como se muestra a continuación -> Elija Siguiente
Crear un nuevo proyecto de prueba de Android
Crear un nuevo proyecto de prueba de Android

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

Agregar el nombre del proyecto de prueba según la convención de nomenclatura
Agregar el nombre del proyecto de prueba según 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
Elija la aplicación de destino bajo prueba

Crear conjuntos de pruebas

Según su especificación de prueba, comenzó a crear conjuntos de pruebas para su programa de prueba. Puede elegir varios marcos de prueba. En este tutorial, elijo el marco de prueba estándar de Android. ActividadInstrumentaciónTestCase2. Debe agregar el archivo de la biblioteca Robotium a un directorio libs en la carpeta de su proyecto en caso de que desee realizar pruebas con el marco Robotium. (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 almacenen el estado del dispositivo.
  • Inicialice el estado del dispositivo anulando configuración()
  • Limpieza después de una prueba anulando demoler().
Estructura del programa de prueba
Estructura del programa de prueba.
package com.example.helloandroid.test;

import com.example.helloandroid.HelloAndroid;
import com.jayway.android.robotium.solo.Solo;
import android.test.ActivityInstrumentationTestCase2;
import android.widget.TextView;

public class HelloAndroidTest extends ActivityInstrumentationTestCase2 <HelloAndroid> {
    
	private HelloAndroid mActivity;
	private TextView mView;
	private String resourceString;
	private Solo solo;
	
	public HelloAndroidTest () {
		// TODO Auto-generated constructor stub
		super("com.example.helloandroid",HelloAndroid.class);	
	}
	
	 @Override
	protected void setUp() throws Exception {
		// TODO Auto-generated method stub
	//	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);
		
	}
	 
	 @Override
	protected void tearDown() throws Exception {
		// TODO Auto-generated method stub
		//super.tearDown();
		solo.finishOpenedActivities();
	}
	
	public void testPrecondition() {
		assertNotNull(mView);
	}
	
	/* test Target application contains a text display "Hello World!"*/
	public void testSearchText() {
		assertEquals(resourceString,(String) mView.getText());
	}
	
	/* test HelloAndroid Activity on target application is exist*/
	public void testCurrentActivity() throws Exception  {
    	solo.assertCurrentActivity("wrong activity", HelloAndroid.class);
    }
    
	/* test Application UI contains "Start" button */
	/* send event click button to target application */
    public void testSearchButton() throws Exception {
    	boolean found = solo.searchButton("Start");
    	solo.clickOnButton("Start");
    	assertTrue(found);
    }

	

}

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 evaluador 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 evaluador 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 el marco de pruebas de Android
Métodos de ejemplo del marco de pruebas de Robotium y 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 "Inicio".

PASO 3) Ejecutar prueba

Después de terminar de escribir su programa de prueba, ejecute la prueba siguiendo los pasos a continuación

  • Conecte el dispositivo Android a su PC (o inicie el emulador en caso de que no tenga un dispositivo real).
  • En su IDE, haga clic derecho en Ejecutar como Prueba unitaria de Android
Ejecución del programa de prueba
Ejecutando programa de prueba

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

$ adb shell soy instrumento -w -e paquete com.example.helloandroid.test

PASO 4) Obtener el resultado de la prueba

Después de ejecutar la prueba, obtendrá 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 del resultado de la prueba en caso de que todos los casos de prueba hayan sido aprobados
Salida del resultado de la prueba en caso de que todos los casos de prueba hayan pasado

En caso de que el caso de prueba falle, el resultado se muestra y le muestra qué casos de prueba fallaron.

Salida del resultado de la prueba en caso de que todos los casos de prueba fallaran
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 de forma más clara y a recuperar rápidamente los conocimientos técnicos.