Pruebas móviles - Robotium Framework

Robotium es un marco de prueba de código abierto para escribir casos de prueba automáticos de caja gris para aplicaciones de Android. Con el soporte de Robotium, los desarrolladores de casos de prueba pueden escribir escenarios de prueba de función, sistema y aceptación, que abarcan múltiples actividades de Android.

Robotium se puede utilizar tanto para probar aplicaciones donde el código fuente está disponible como aplicaciones donde solo está disponible el archivo APK.

Beneficios de Robotium

  • Fácil de escribir, código más corto. Se necesita un tiempo mínimo para escribir casos de prueba sólidos.

  • Puede desarrollar casos de prueba poderosos, con un conocimiento mínimo de la aplicación bajo prueba.

  • El marco maneja múltiples actividades de Android automáticamente. La legibilidad de los casos de prueba ha mejorado enormemente en comparación con las pruebas de instrumentación estándar.

  • Temporización y retrasos automáticos.

  • Sigue automáticamente la actividad actual.

  • Encuentra vistas automáticamente.

  • Toma automáticamente sus propias decisiones (por ejemplo, cuándo desplazarse, etc.)

  • Sin modificaciones a la plataforma Android.

  • La ejecución de la prueba es rápida.

  • Los casos de prueba son más robustos debido al enlace en tiempo de ejecución a los componentes de la GUI.

  • Se integra sin problemas con Maven o Ant.

Inconvenientes de Robotium

  • Robotium no puede manejar componentes Flash o Web.

  • Maneja solo una aplicación a la vez.

  • No puede simular hacer clic en el teclado virtual usando Robotium (necesita usar 'enterText ()' para ingresar texto en un campo EditText)

  • Robotium no puede interactuar con las notificaciones de la barra de estado, es decir, despliegue el área de notificaciones y haga clic en una notificación específica.

  • Puede ser un poco lento, especialmente si se ejecuta en dispositivos más antiguos.

Cómo utilizar Robotium

Step 1- Los requisitos previos para utilizar Robotium es Java SDK (mínimo 1.6). Si no tiene Java instalado en su sistema, siga los pasos que se indican a continuación.

  • Descargue JDK y JRE de Oracle Technology Network

  • Acepta el contrato de licencia.

  • Instale JDK y JRE.

  • Configure la variable de entorno como se muestra en la captura de pantalla a continuación.

Step 2- Descarga Android Studio desde Android Studio

  • Haga doble clic en el exe y ejecute el instalador.
  • Continúe con todas las opciones predeterminadas.
  • Establezca ANDROID_HOME.

Step 3 - Instalar imágenes y herramientas de Android.

  • Haga clic en SDK Manager -
  • Seleccione el paquete necesario. Por ejemplo, si estamos creando una aplicación para Android 4.4.2, asegúrese de que los siguientes paquetes estén marcados en la sección Herramientas:

    • Herramientas del SDK de Android rev 22.6.3
    • Herramientas de plataforma Android rev 19.0.1
    • Herramientas de compilación del SDK de Android rev 19.1

Step 4 - Crea dispositivos virtuales Android.

  • Abra Android Studio y haga clic en AVD Manager en la barra de herramientas. Los AVD nos permiten probar y ejecutar nuestras aplicaciones de Android.
  • Utilice la siguiente configuración para un Nexus5 AVD:

    • Dispositivo: Nexus 5 (4,95, 1080 x 1920; xxhdpi)
    • Destino: API de Google x86 (Google Inc.): nivel de API 19
    • (Asegúrese de seleccionar el destino con las API de Google en el nombre).
    • CPU: Intel Atom (x86)
    • Marque la casilla para Usar GPU de host
    • Haga clic en Aceptar
  • ¡Ahora debería ver el AVD que creó en el Administrador de AVD, donde puede iniciarlo, eliminarlo o crear otro!

Step 5- Archivo Robotium Jar Descargue el archivo Robotium Jar de RobotiumTech

Pruebe una aplicación con Robotium

Para probar una aplicación con Robotium, siga los pasos que se indican a continuación:

Step 1 - Cree un proyecto de prueba en Android Studio denominado "RobotiumTest".

Elija todas las opciones predeterminadas hasta llegar a la página principal.

Step 2 - Copie el archivo jar de Robotium en la carpeta Lib del proyecto.

Step 3 - Agregue la dependencia en el archivo build.gradle en src carpeta.

androidTestCompile 'com.jayway.android.robotium: robotium-solo-5.5.3'

Step 4 - Sincroniza el Gradle.

Step 5 - Cree la clase de prueba de la siguiente manera -

package com.example;

import com.robotium.solo.Solo;
import android.test.ActivityInstrumentationTestCase2;
import android.widget.EditText;
import android.widget.TextView;

public class MyTestClass extends ActivityInstrumentationTestCase2<TestActivity>{

   private Solo solo;

   public MyTestClass() {
      super(TestActivity.class);
   }

   public void setUp() throws Exception {
      solo = new Solo(getInstrumentation(), getActivity());
   }

   public void testCase() throws Exception {
      String vResult="TestExample";
      EditText vEditText = (EditText) solo.getView(R.id.edit1);
      solo.clearEditText(vEditText);
      solo.enterText(vEditText,"TestExample");
      solo.clickOnButton("Submit");
      assertTrue(solo.searchText(vResult));
      TextView textField = (TextView) solo.getView(R.id.txt1);
      //Assert to verify result with visible value
      assertEquals(vResult, textField.getText().toString());
   }

   @Override
   public void tearDown() throws Exception {
      solo.finishOpenedActivities();
   }
}

Step 6- Guarde todos los cambios. Asegúrese de que no haya errores.

Step 7- Ahora, ejecute el caso de prueba. Si el caso de prueba tiene éxito, debería ver el siguiente resultado.