Selendroid Tutorial para principiantes con ejemplo.

¿Alguna vez ha desarrollado una Android aplicación y publicarla en Google Play? ¿Qué harás si recibes una reseña de usuario como...?

Selendroid Tutorial

Cuando publicas una aplicación en Google Play, debes probarla bien para evitar posibles errores. Hay un montón de escenarios de prueba que deben ejecutarse antes de publicar una aplicación. para guardar el Pruebas esfuerzo, necesita una herramienta de prueba. Una de las mejores herramientas de prueba para Android la aplicación es Selendroid.

¿Qué es el Selendroid?

Selendroid es un marco de automatización de pruebas para varios tipos de aplicaciones móviles: nativo y camiones híbridos Android aplicación y móvil web.

¿Qué es el Selendroid

Puedes escribir las pruebas usando el Selenium 2 API de cliente. Porque Selendroid todavía reutilizaciones de lo existente Selenium infraestructura para la web

Selendroid es una poderosa herramienta de prueba. Se puede utilizar en emuladores y real Médicos

¿Qué es el Selendroid

Por qué necesitamos Selendroid?

Selendroid es una gran herramienta de prueba. Pero es posible que aún dudes de su utilidad.

Por qué necesitamos Selendroid

Esta sección presentará las características importantes del Selendroid para responder a la pregunta por qué necesitas Selendroid.

Por qué necesitamos Selendroid

  • Puede probar la aplicación bajo prueba usando Selendroid sin ninguna modificación de la aplicación. Sólo necesitas el archivo binario (APK) instalado en la computadora. Para instalar el archivo binario en el dispositivo, la aplicación de prueba y la aplicación móvil deben estar firmadas con la misma clave de firma.
  • Selendroid La aplicación de prueba puede interactuar con varios dispositivos o simuladores simultáneamente. Es una gran ventaja de Selendroid. Para que puedas probar tu aplicación con varios Android dispositivos para comprobar la compatibilidad.
  • Selendroid puede simular acciones de usuarios humanos en una aplicación, como tocar, deslizar, arrastrar y soltar en dispositivos
  • Puede cambiar los dispositivos de hardware (conectar y desconectar) durante la prueba sin reiniciar ni detener la prueba. Selendroid reconoce los nuevos dispositivos automáticamente
  • Correspondiente a la Android Versión API actualizada, Selendroid también es compatible con el nuevo Android API (De API 10 a API 19)
  • Selendroid también tiene una herramienta de inspección incorporada para ayudarlo a identificar el elemento de la interfaz de usuario de una aplicación bajo prueba. Por ejemplo, el botón ID, el campo de texto, la vista de texto…

Selendroid Architectura

Selendroid se basa en la Android marco de instrumentación. Selendroid Las pruebas se escriben en base a Selenium API de cliente de controlador web, por lo que admite la integración completa con la versión actual. Selenium marcos.

La siguiente figura describe la arquitectura de Selendroid

Selendroid Architectura

Selendroid contiene 4 componentes principales:

Selendroid Architectura

  • Cliente de controlador web: el Java biblioteca cliente basada en Selenium. Esta biblioteca debe instalarse en la computadora (que se utiliza para desarrollar los casos de prueba)
  • Selendroid-Servidor: el servidor que se ejecuta en la aplicación bajo prueba el Android dispositivo o simulador. Estos son los componentes principales de un Selendroid arquitectura
  • Android Driver-App – Una aplicación integrada Android controlador, aplicación Web View para probar la web móvil.
  • Selendroid-Independiente: este componente se utiliza para instalar el Selendroid servidor y la aplicación bajo prueba (AUT)

Empezar con Selendroid

Ya sabes la importancia del Selendroid. Ahora ensuciémonos las manos con Selendroid.

Hay 3 pasos que se deben realizar antes de la primera prueba con Selendroid

Empezar con Selendroid

Configurando un Selendroid entorno

Selendroid puede funcionar en ventana, Linux y Mac OS. En este tutorial, configuraremos Selendroid en el sistema operativo Windows.

Antes de utilizar Selendroid, primero debes instalar el siguiente paquete

  • Java SDK (mínimo 1.6)

    Debe aceptar el acuerdo de licencia y descargar el instalador de Java (elija la base x64 o x86 en su sistema operativo)

    Configurando un Selendroid Entorno

    Descargue e instale el Java SDK como software normal

  • Última versión de Android SDK
  • Su computadora debe tener al menos una Android Dispositivo virtual (AVD), o un dispositivo real Android dispositivo conectado a la PC.
  • Selendroid Independiente con dependencias, Selendroid Clientey Selenium Cliente
  • Eclipse software
  • Configurar JAVA_HOME y ANDROID_HOME

    Paso 1) En Windows, haga clic derecho en Computadora -> Propiedades -> Configuracion avanzada del sistema

    Configurando un Selendroid Entorno

    Paso 2) Visualización de la ventana Propiedades del sistema, seleccione la pestaña Avanzado -> Variables de entorno

    Configurando un Selendroid Entorno

    Paso 3) Aparecerá la ventana Entorno, haga clic en Nuevo -> Introduzca una variable ANDROID_HOME de la siguiente manera

    Configurando un Selendroid Entorno

    El valor de la variable es la ruta a android-sdks que ya instalaste.

    Encuentre la ruta de la variable del sistema -> Editar -> Añade la siguiente línea después de la línea actual

    Configurando un Selendroid Entorno

    Configurando un Selendroid Entorno

    Similar a ANDROID_HOME, agregue la nueva variable JAVA_HOME con el valor que se muestra a continuación

    Configurando un Selendroid Entorno

    El valor es el Camino hacia tu Java instalación JDK

    Paso 4) Reinicia tu PC -> Terminado

Cómo lanzar Selendroid

Paso 1) Poner a prueba una aplicación

Puedes usar existentes Selendroid aplicación de prueba para comprobar cómo Selendroid trabajos (Enlace a la aplicación de muestra bajo prueba)

Una vez que se complete la descarga, copie este APK y el anterior Selendroid Tarro independiente archivo a una carpeta con el nombre “Gurú99″

Paso 2) Inicie el Selendroid

Abra la terminal en Windows Y navegue hasta la carpeta Guru99 creada en el paso 1.

Ejecute el siguiente comando

Lanzamiento Selendroid

La salida se mostrará de la siguiente manera

Lanzamiento Selendroid

Después de ejecutar este comando, Selendroid-¡Se inicia el servidor HTTP independiente! El número de puerto predeterminado de este servidor es 4444. Todos los dispositivos de hardware, así como Android Dispositivo virtual, será escaneado y reconocido automáticamente. Selendroid identificará el Android versión de destino y tamaño de pantalla del dispositivo.

Para verificar el Android Para obtener la versión de destino y la información del dispositivo, puede iniciar la siguiente URL en un navegador: http://localhost:4444/wd/hub/status.

Lanzamiento Selendroid

Selendroid comando básico

Esta sección le presenta algunos conceptos básicos Selendroid-Línea de comando independiente. Puede usarlos para configurar el Selendroid entorno de prueba

  1. Configuración del puerto de Selendroid

    El puerto predeterminado de Selendroid es 4444. Pero puede cambiar a otro puerto agregando un parámetro al comando para iniciar Selendroid

    Parámetro: -puerto [número de puerto]

    Por ejemplo:

    Selendroid Comando básico

    En el comando anterior, 5555 es el nuevo puerto.

Entonces la URL para verificar el Android La versión de destino se cambia a: http://localhost:5555/wd/hub/status

  1. Especifique la ubicación de la aplicación bajo prueba (archivo APK binario). Selendroid a menudo se requiere la ruta absoluta para este archivo

    Parámetro: -aplicación [ruta de archivo]

    Por ejemplo:

    Selendroid Comando básico

    En el comando anterior, el Selendroid busque automáticamente la base del archivo binario en “C:\Guru99App.apk” para obtener la información de la aplicación bajo prueba.

    Comprueba la URL http://localhost:4444/wd/hub/status, verás esta información

    Selendroid Comando básico

  2. Cambie el puerto el Selendroid utiliza para comunicarse con el servidor de instrumentación. Selendroid utiliza el puerto 8080 como predeterminado

    Parámetro: -selendroidServerPort [número de puerto]

    Ejemplo

    Selendroid Comando básico

    El puerto ahora ha cambiado a 9000.

  3. Cambie el tiempo de espera para iniciar los emuladores. La unidad es milisegundos.

    Parámetro: -timeoutEmulatorStart

    De forma predeterminada, Selendroid Esperará 300,000 milisegundos hasta que se inicie el emulador. Puede cambiar a un nuevo tiempo de espera (200,000 ms) mediante comando

    Selendroid Comando básico

    Después de este tiempo, nuestro emulador no puede iniciarse, el Selendroid arrojará el error de excepción (Se produjo un error al buscar dispositivos/emuladores) y luego dejará de ejecutarse

  4. Cuando empiezas el Selendroid en la terminal, verá un registro impreso en la pantalla. Puede cambiar el tipo de registro que ve agregando el siguiente parámetro

    Parámetro: -logLevel [tipo de registro]

    Los valores del nivel de registro son ERROR, WARNING, INFO, DEBUG y VERBOSE. Valor predeterminado: ERROR.

    Por ejemplo, establezca Selendroid Para imprimir solo el registro de ADVERTENCIA, puede utilizar este comando

    Selendroid Comando básico

    La Selendroid imprimir sólo el registro de ADVERTENCIA

Comience su primera prueba con Selendroid

Esta sección es una guía paso a paso para crear su primer script de prueba usando Selendroid

Supongamos que tenemos un Android aplicación bajo el nombre de prueba Guru99App. La aplicación incluye un campo de texto y un nombre de botón "Mostrar texto".

DESCARGA EL APK AQUÍ

Primera prueba con Selendroid

Necesitamos ejecutar lo siguiente Caso de prueba usando Selendroid

Casos de prueba Estado Rendimiento esperado
  1. Iniciar la aplicacion
  2. Introduce un texto “Prueba Guru99”al campo de texto
  3. Presione el botón "Mostrar texto"
El binario de la aplicación bajo prueba está disponible.

Un dispositivo está conectado a la PC

El texto “Texto Mostrar aquí” se cambia al texto

qué usuario ingresa en un campo de texto

Paso 1) Créar un Java proyecto en Eclipse

Paso 2) Añade selenio y Selendroid Archivo jar en entornos eclipse

Haga clic derecho en Proyecto Guru99Test -> Construir camino -> Agregar externo Archives

Primera prueba con Selendroid

Navegue hasta la carpeta que almacenó los archivos jar.

Se deben agregar 3 archivos jar

  • selendroid-client-0.10.0.jar : Selendroid biblioteca cliente java
  • selendroid-standalone-0.11.0-con-dependencias : Selendroid biblioteca de servidor independiente
  • selenio-java-2.40.0.jar : Selenium Biblioteca de controladores web

Seleccionar todo -> Elija Abrir para agregar un archivo jar al proyecto

Primera prueba con Selendroid

Paso 3) Después de agregar la biblioteca anterior, esas bibliotecas se agregarán a las bibliotecas de referencia del proyecto de prueba. Un evaluador puede utilizar las API de esas bibliotecas para desarrollar el programa de prueba.

Cree el paquete "com.guru.test" y agregue el archivo java "Guru99Test.java" como se muestra a continuación

Haga clic derecho en Guru99Test -> Nuevo -> PREMIUM

Primera prueba con Selendroid

Escriba com.guru.test en el campo Nombre en Nuevo Java Diálogo de paquete à Finalizar

Primera prueba con Selendroid

La Eclipse creará listas de carpetas y subcarpetas como esta en la estructura del código fuente

Primera prueba con Selendroid

Paso 4) Instalar TestNG for Eclipse

In Eclipse, Ayuda -> Instalar nuevo software, en el cuadro de diálogo Instalar, haga clic en Agregar e ingrese lo siguiente

presiona OK -> Siguiente para instalar el TestNG

Primera prueba con Selendroid

Paso 5) Copie Guru99App.apk a la carpeta de la aplicación de prueba.

Primera prueba con Selendroid

Paso 6) Obtenga el ID de una aplicación bajo prueba.

Supongamos que tenemos un nombre de archivo APK Guru99App.apk. Siga el paso que se describe en la sección anterior, ejecute el comando en la terminal

Primera prueba con Selendroid

Abra el siguiente enlace en un navegador: http://localhost:4444/wd/hub/status.

Se muestra la información del dispositivo, copie el valor de appId “com.guru99app:1.0”

Primera prueba con Selendroid

Paso 7) Abra el archivo Guru99Test.java (en el código de muestra) y cámbielo de la siguiente manera

Primera prueba con Selendroid

Para crear una nueva sesión de prueba con Selendroid, debes proporcionar la identificación de la aplicación en el formato: com.guru99app:1.0. Este Id. de aplicación se puede identificar en el paso 6. Si no configura el Id. de aplicación que coincida con el Android dispositivo, la sesión de prueba arrojará un error y no se iniciará.

Después de inicializar el dispositivo encontrado, Selendroid Crea un servidor selendroid personalizado e instala el Selendroid servidor en él

Selendroid También instala la aplicación en prueba e inicia el servidor selendroid en el dispositivo.

Después de inicializar correctamente la sesión de prueba, el comando de prueba comienza a ejecutarse en un dispositivo. (Como ingresar texto, presionar el botón…). Si la prueba agrega la sesión de prueba, el emulador se detendrá automáticamente

Paso 8) Iniciar la nueva sesión de prueba

Inicie el Selendroid servidor usando el siguiente comando en la terminal como en el paso 6

Primera prueba con Selendroid

Una vez que el Selendroid Servidor iniciado, abra el proyecto de prueba de muestra Guru99test en Eclipse, establezca un punto de interrupción en la línea 77 en el archivo Guru99Test.java haciendo doble clic en la línea 77 -> Se mostrará un punto como se muestra a continuación.

Primera prueba con Selendroid

Inicie una sesión de prueba haciendo clic derecho en el proyecto Guru99Test -> Depurar como -> Prueba Prueba.

Una sesión de prueba comenzará como se muestra a continuación.

Primera prueba con Selendroid

Paso 9) Obtenga el ID del elemento GUI de una aplicación bajo prueba

Después de que la sesión de prueba comience exitosamente, abra el navegador, navegue hasta la URL http://localhost:4444/inspector

Verá que la aplicación bajo prueba se inicia como se muestra a continuación.

Primera prueba con Selendroid

Utilice el cursor del mouse para cada elemento de la interfaz de usuario de AUT (botón, campo de texto, etiqueta de texto), la identificación de cada elemento se resaltará en el panel derecho

Primera prueba con Selendroid

Después de este paso, puede obtener el ID de cada elemento de la interfaz de usuario anterior.

  • Botón Mostrar ID de texto: “btnMostrar"
  • ID de campo de texto: “edtTexto"
  • ID de texto de etiqueta: “txtVer"

Esas identificaciones se utilizarán en el siguiente paso.

Paso 10) Ingrese al programa de prueba como se muestra a continuación

Un programa de prueba que utiliza Selendroid incluye 3 secciones

Prueba de configuración:

A continuación se muestra el código para la prueba de configuración, que configurará la condición para una sesión de prueba. En caso de error, el Selendroid lanzará la excepción y la aplicación de prueba se detendrá.

El código incluye los comentarios para explicar cada afirmación.

package com.guru.test;
		
 import io.selendroid.SelendroidCapabilities;
		import io.selendroid.SelendroidConfiguration;
		import io.selendroid.SelendroidDriver;
		import io.selendroid.SelendroidLauncher;
		import io.selendroid.device.DeviceTargetPlatform;
		
		import org.openqa.selenium.By;
		import org.openqa.selenium.WebDriver;
		import org.openqa.selenium.WebElement;
		import org.testng.Assert;
		import org.testng.annotations.AfterSuite;
		import org.testng.annotations.BeforeSuite;
		import org.testng.annotations.Test;
		
 /**
		 * @author Guru99 Test App using Selendroid
			 * Application under test: Guru99App
		 *
		 */
		public
				class Guru99Test {
				
				     //Declare web driver variable
		    private WebDriver driver;
					   
   
		    /**
		     * Setup the environment before testing
		     * @throws Exception
			     */
		    @BeforeSuite
		    public
					void setUp() throws Exception {
							
        //Start selendroid-standalone during test
		        SelendroidConfiguration config = new SelendroidConfiguration();
			        
		      // Add the selendroid-test-app to the standalone server
		        config.addSupportedApp("Guru99App.apk");
			        
                 
		        //start the standalone server
		        SelendroidLauncher selendroidServer = new SelendroidLauncher(config);
			        selendroidServer.launchSelendroid();
		        
		       // Create the selendroid capabilities
		        SelendroidCapabilities capa = new SelendroidCapabilities();
			        
        
		       // Specify to use selendroid's test app
		        capa.setAut("com.guru99app:1.0");
			       
		       // Specify to use the Android device API 19
		        capa.setPlatformVersion(DeviceTargetPlatform.ANDROID19);
			        
		        // Don't request simulator, use real device
		        capa.setEmulator(false);
			        
         
		        //capa.wait(10000000);
		        
		        // Create instance of Selendroid Driver
		        driver = new SelendroidDriver(capa);
					       
		    }
		

Ejecutar prueba

A continuación se muestra el código para ejecutar una prueba. El código incluye los comentarios.

Aquí están los pasos de la prueba nuevamente.

  1. Ingrese el texto "Hola Guru"
  2. Haga clic en el botón Mostrar texto
  3. Espera un momento
  4. Verifique que la aplicación muestre el texto cuando el usuario ingrese a un campo de texto (por ejemplo, muestre el texto "Hola Guru")
 /**
		     * Start execute the test case
		     * 01. Enter the text "Selendroid" to the textfield
		     * 02. Press OK button
		     * @throws Exception
			     */
		    @Test
		    public
					void selendroidTest() throws Exception {
							        
		        // Print the log 
		        System.out.print("Start executing test");
					        
		        // Find the input text field on screen
        // The id of this text field was get from step 9
		        WebElement inputField = driver.findElement(By.id("edtText"));
					        
		        // Verify that the text field enabled so user can enter text
		        Assert.assertEquals("true", inputField.getAttribute("enabled"));
					        
		        // Enter a text to text field
		        inputField.sendKeys("Hello Guru");        
			
         // click Show Text button
        // The id of this button was get from step 9
		        WebElement button = driver.findElement(By.id("btnShow"));
					        button.click();
		        
		        // Delay time to take effect
		        Thread.sleep(5000);
		        
		        //Find the label "Text Show Here" on screen
        // The id of this label was get from step 9
		        WebElement txtView = driver.findElement(By.id("txtView"));
					        
		        //Get the text display on screen
		        String expected = txtView.getText();
		        
		// Verify that the text which user enter on text field is same as text display on screen
		        Assert.assertEquals(expected, inputField.getText());        
		
     }

Finalizar prueba

El siguiente código completará la prueba deteniendo el Selendroid conductor.

 /**
		     * Stop the Selendroid driver
		     * 
		     */
		    @AfterSuite
		    public
					void tearDown() {
					        driver.quit();
			    }

Puede ver los detalles en el código de muestra incluido en este artículo.

Paso 10) Conecte Android dispositivo a la PC mediante un cable USB. Puntos a observar –

  • Asegúrese de que el dispositivo no tenga configurado ningún bloqueo de pantalla.
  • Los dispositivos deben conectarse a través de USB a la computadora en la que se ejecuta el componente selendroid-standalone.
  • El dispositivo debe instalar al menos Android Target Versión API 10

Paso 11) Ejecute la aplicación de prueba: haga clic derecho en Guru99test -> Correr como -> TestNG test

Primera prueba con Selendroid

Paso 10) El script comienza a ejecutarse de la siguiente manera

Primera prueba con Selendroid

Paso 12) Una vez que la prueba finaliza la ejecución, TestNG genera automáticamente el informe de prueba de la siguiente manera

Primera prueba con Selendroid

Primera prueba con Selendroid

Buen trabajo, ya has terminado la prueba.

Resum

  • Selendroid es una herramienta muy poderosa para probar Android aplicación nativa, la aplicación híbrida y la aplicación web.
  • Se puede utilizar tanto en dispositivos reales como en el simulador.
  • También le permite ejecutar pruebas en paralelo ejecutando una prueba en múltiples dispositivos.
  • La totalidad Selendroid La suite se compone de cuatro componentes:
    • cliente de controlador web,
    • Selendroid-Servidor,
    • Android Aplicación de controlador
    • Selendroid-ser único
  • Para utilizar Selendroid necesitas Java JDK, Android SDK y Eclipse instalado.