Tutorial de APPIUM para pruebas de aplicaciones móviles de Android e iOS

¿Qué es Appium?

APPIUM es una interfaz de usuario de aplicación móvil de código abierto y de distribución gratuita Pruebas estructura. Appium permite pruebas de aplicaciones nativas, híbridas y web y admite pruebas de automatización en dispositivos físicos, así como en un emulador o simulador. Ofrece pruebas de aplicaciones multiplataforma, es decir, una única API funciona para scripts de prueba de plataformas Android e iOS.

Tiene NO Dependencia del sistema operativo del dispositivo móvil. Porque APPIUM tiene un marco o contenedor que traduce Selenio Comandos de Webdriver en comandos UIAutomation (iOS) o UIAutomator (Android) según el tipo de dispositivo, no cualquier tipo de sistema operativo.

Appium admite todos los lenguajes que tienen bibliotecas cliente de Selenium como Java, Objective-C, JavaScript con node.js, PHP, Ruby, Python, C # etc.

¿Cómo funciona APPIUM?

  • Appium es un 'servidor HTTP' escrito usando un nodo.js plataforma y controla una sesión de iOS y Android utilizando el protocolo de conexión Webdriver JSON. Por lo tanto, antes de inicializar Appium Server, Node.js debe estar preinstalado en el sistema.
  • Cuando se descarga e instala Appium, se configura un servidor en nuestra máquina que expone una API REST.
  • Recibe solicitud de conexión y comando del cliente y ejecuta ese comando en dispositivos móviles (Android / iOS).
  • Responde con respuestas HTTP. Nuevamente, para ejecutar esta solicitud, utiliza los marcos de automatización de pruebas móviles para controlar la interfaz de usuario de las aplicaciones. Un marco como: -
    • Apple Instruments para iOS (los instrumentos solo están disponibles en Xcode 3.0 o later con OS X v10.5 y later)
    • Google UIAutomator para Android API nivel 16 o superior
    • Selendroid para Android API nivel 15 o menos

Requisito previo para usar APPIUM

  1. Instalar ANDROID SDK (Estudio)[Enlace]-
  2. Instalar JDK (kit de desarrollo de Java) [Enlace]
  3. Instalar Eclipse [Enlace]
  4. Instale TestNg para Eclipse [Enlace]
  5. Instale el JAR del servidor Selenium [Enlace]
  6. Biblioteca cliente de Appium[Enlace]
  7. Información de la aplicación APK en Google Play [Enlace]
  8. js (No es necesario: siempre que se instala el servidor Appium, viene de forma predeterminada con “Node.exe” y NPM. Está incluido en la versión actual de Appium).
  9. Instalar Appium de escritorio

Instalar Appium de escritorio

Appium Studio es una aplicación GUI de código abierto para instalar Appium Server. Viene con todos los requisitos previos para instalar y utilizar Appium Server. También cuenta con un Inspector para obtener información básica de tus Apps. Viene con una grabadora para crear código repetitivo para automatizar sus aplicaciones móviles.

Paso 1) Ve a http://appium.io/ y haga clic en Descargar Appium.

Instalar Appium de escritorio

Paso 2) Windows, seleccione el archivo exe y descárguelo. El archivo tiene alrededor de 162 MB y tardará en descargarse según la velocidad de Internet.

Instalar Appium de escritorio

Paso 3) Haga clic en el exe descargado.

Instalar Appium de escritorio

Paso 4) En un Windows máquina, no es necesario instalar Appium. Se ejecuta directamente desde el exe. Una vez que hagas clic en el exe, verás lo siguiente.wing imagen durante unos minutos.

Instalar Appium de escritorio

Para Mac, necesitas instalar el dmg

Paso 5) A continuación verá la ventana de inicio del servidor. Completa la opción de puerto y host predeterminado que puede cambiar. También menciona la versión de Appium que se utiliza.

Instalar Appium de escritorio

Paso 6) Al hacer clic en el botón Iniciar servidor, se inicia un nuevo servidor en el host y el puerto especificados. Se muestra la salida del registro del servidor.

Instalar Appium de escritorio

Paso 7) Haga clic en Nueva ventana de sesión.

Instalar Appium de escritorio

Paso 8) Puede ingresar las Capacidades Deseadas e iniciar una sesión.

Instalar Appium de escritorio

Inspector de APPIUM

Similar a la herramienta de grabación y reproducción Selenium IDE, Appium tiene un "Inspector" para grabar y reproducir. Registra y reproduce el comportamiento de la aplicación nativa inspeccionando DOM y genera scripts de prueba en cualquier idioma deseado. Sin embargo, actualmente no hay soporte para Appium Inspector para Microsoft Windows. En Windows, inicia Appium Server pero no inspecciona los elementos. Sin embargo, el visor UIAutomator se puede utilizar como una opción para inspeccionar elementos.

Pasos para comenzar con Appium Inspector en una máquina Mac: –

Paso 1) Descargue e inicie su servidor Appium con la dirección IP predeterminada 0.0.0.0 y el puerto 4725.

  1. Seleccione el archivo fuente o los archivos .app locales para probar.
  2. Marque la casilla 'Ruta de la aplicación'box para habilitar el botón 'Elegir'.

Paso 2)Ahora, haga clic en el botón "Elegir" para tener la opción de buscar y seleccionar el archivo de prueba de la unidad local.

Inspector de APPIUM

Paso 3) Inicie Simulator en la máquina Mac.

Paso 4) Haga clic en el botón "Iniciar" en la esquina superior derecha, que habilita un icono de color azul. Nuevamente, haga clic en este ícono de color azul y se abrirá el inspector y el simulador de Appium con una aplicación preseleccionada.

Inspector de APPIUM

Paso 5)– Al iniciar Appium Inspector se mostrará la jerarquía de elementos en columnas.wise estructura. Además, un usuario puede aplicar acciones usando botones como Tocar, Deslizar, etc.

Inspector de APPIUM

Paso 6) Haga clic en el botón "Detener" para detener la grabación.

Adjunte el emulador de Android a Appium

Paso 1) Instale el SDK de Android en su sistema.

Vaya al Panel de control >> Sistema y seguridad >> Sistema y desde el panel izquierdo haga clic en 'Configuración avanzada del sistema'. En la ventana emergente "Propiedades del sistema", haga clic en la pestaña "Avanzado" y luego haga clic en el botón "Variables de entorno".

Adjunte el emulador de Android a Appium

Paso 2) Ahora, en la ventana emergente 'Variables de entorno', 'double haga clic en 'Ruta' y configure la variable ANDROID_HOME que apunte a su directorio SDK. En la ruta, agregue la ruta completa de la carpeta SDK.

p.ej -

C:\User\ABC\Desktop\adt-bundled-windows-x86_64-20140321\sdk

Adjunte el emulador de Android a Appium

Paso 3) Inicie su emulador de Android o conecte cualquier dispositivo Android a su sistema (asegúrese de tener habilitada la opción de depuración de Android en su dispositivo Android. Para verificar la opción de depuración, vaya a Configuración del dispositivo >> Opciones de desarrollador >> Marque “Opción de depuración”).

Paso 4) Abra el símbolo del sistema y navegue hasta el directorio \platform-tools\ de su SDK de Android (por ejemplo, D:\adt-bundle-windows-x86_64-20130514\sdk\plataforma-herramientas).

Paso 5)– Ejecute el comando 'adb devices'. Puede ver su dispositivo conectado en la lista del símbolo del sistema. (En CMD escriba '>adb devices'. Este comando enumerará las instancias del emulador conectadas. Por ejemplo: adb –s emulator-5554 install )

Adjunte el emulador de Android a Appium

Paso 6)– Ejecute el comando 'adb start-server'. Iniciará el servidor ADB que Appium utilizará para enviar comandos a su dispositivo Android.

Paso 7) Ahora, navegue hasta el directorio de Appium en su sistema e inicie Appium haciendo clic en un archivo Appium.exe.

Paso 8) No modifique la dirección IP ni el número de puerto y haga clic en el botón "Iniciar". Su consola Appium comienza en 127.0.0.1:4723 como se muestra a continuación.

Adjunte el emulador de Android a Appium

Paso 9) Haga clic en el botón "Inicio", el servidor Appium comenzó a ejecutarse en su sistema.

Caso de prueba de APPIUM para la aplicación nativa de Android (calculadora)

Paso 1)) Descargar TDA eclipse complemento o descargue ADT incluido por separado aquí

Paso 2) Abierto Eclipse y Crear un nuevo Proyecto >> Paquete >> Clase

Paso 3) Importar biblioteca de Selenium y Prueba dentro de ese nuevo proyecto.

Paso 4) Ahora cree un pequeño programa de prueba para 'Calculator.app' para sumar dos números.

package src_Appium;
import java.net.MalformedURLException;
import java.net.URL;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
//import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;
import org.testng.annotations.*;


public class Calculator {
WebDriver driver;

@BeforeClass
public void setUp() throws MalformedURLException{
	//Set up desired capabilities and pass the Android app-activity and app-package to Appium
	DesiredCapabilities capabilities = new DesiredCapabilities();
	capabilities.setCapability("BROWSER_NAME", "Android");
	capabilities.setCapability("VERSION", "4.4.2"); 
	capabilities.setCapability("deviceName","Emulator");
	capabilities.setCapability("platformName","Android");
 
   
   capabilities.setCapability("appPackage", "com.android.calculator2");
// This package name of your app (you can get it from apk info app)
	capabilities.setCapability("appActivity","com.android.calculator2.Calculator"); // This is Launcher activity of your app (you can get it from apk info app)
//Create RemoteWebDriver instance and connect to the Appium server
 //It will launch the Calculator App in Android Device using the configurations specified in Desired Capabilities
   driver = new RemoteWebDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
}

@Test
public void testCal() throws Exception {
   //locate the Text on the calculator by using By.name()
   WebElement two=driver.findElement(By.name("2"));
   two.click();
   WebElement plus=driver.findElement(By.name("+"));
   plus.click();
   WebElement four=driver.findElement(By.name("4"));
   four.click();
   WebElement equalTo=driver.findElement(By.name("="));
   equalTo.click();
   //locate the edit box of the calculator by using By.tagName()
   WebElement results=driver.findElement(By.tagName("EditText"));
	//Check the calculated value on the edit box
assert results.getText().equals("6"):"Actual value is : "+results.getText()+" did not match with expected value: 6";

}

@AfterClass
public void teardown(){
	//close the app
	driver.quit();
}
}

Appium Server y Android Emulator desde 'AVD Manager' y haga clic en Ejecutar >> TestNG. El programa anterior ejecutará 'Calculator.app' en el emulador seleccionado y el resultado se mostrará debajo Eclipse consola utilizando un marco TestNG.

Limitaciones al usar APPIUM

  1. Appium no admite pruebas de versiones de Android inferiores a 4.2
  2. Soporte limitado para pruebas de aplicaciones híbridas. Por ejemplo: no es posible probar la acción de cambio de la aplicación de la aplicación web a la nativa y viceversa.
  3. No hay soporte para ejecutar Appium Inspector Microsoft Windows.

Errores comunes encontrados y pasos para solucionar problemas en Appium

Error Pasos de solución de problemas
error: - El siguientewing Las capacidades deseadas son necesarias, pero no se proporcionaron: nombre del dispositivo, nombre de la plataforma. Agregue las capacidades deseadas: nombre del dispositivo, nombre de la plataforma en el script APPIUM. por ejemplo: capacidades.setCapability (“nombre del dispositivo”, “Emulador”); capacidades.setCapability (“nombre de la plataforma”, “Android”);
error: No se pudo encontrar adb. Configure la variable de entorno ANDROID_HOME con la ruta del directorio raíz del SDK de Android. Probablemente necesite configurar la ruta del directorio raíz del SDK en las "Variables de entorno" del sistema en la columna "Ruta"
error:org.openqa.selenium.SessionNotCreatedException: no se pudo crear una nueva sesión. Debe establecer una ruta de aplicación correcta y reiniciar el servidor Appium.
Cómo encontrar el elemento DOM o XPath en una aplicación móvil? Utilice 'UIAutomatorviewer' para encontrar el elemento DOM para la aplicación de Android.