Tutorial de APPIUM para Android & Prueba de aplicaciones móviles iOS

Tabla de contenido:

Anonim

¿Qué es Appium?

APPIUM es un marco de prueba de interfaz de usuario de aplicaciones móviles de código abierto distribuido libremente. 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 de sistema operativo de dispositivos móviles. Porque APPIUM tiene un marco o contenedor que traduce los comandos de Selenium 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.

En este tutorial, aprenderemos sobre

  • ¿Cómo funciona APPIUM?
  • Requisito previo para utilizar APPIUM
  • Instale Appium Desktop:
  • Inspector APPIUM
  • Adjuntar emulador de Android a Appium
  • Caso de prueba APPIUM para la aplicación nativa de Android (calculadora)
  • Limitaciones al usar APPIUM
  • Errores comunes encontrados y pasos para la resolución de problemas en Appium

¿Cómo funciona APPIUM?

  • Appium es un 'servidor HTTP' escrito usando una plataforma Node.js y maneja iOS y una sesión de Android usando el protocolo 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 la 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 impulsar 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 posterior con OS X v10.5 y posterior)
    • Google UIAutomator para Android API nivel 16 o superior
    • Selendroid para Android API nivel 15 o menos

Requisito previo para utilizar APPIUM

  1. Instalar ANDROID SDK (Studio) [Link] -
  2. Instalar JDK (Java Development Kit) [Enlace]
  3. Instalar Eclipse [Enlace]
  4. Instalar TestNg para Eclipse [Enlace]
  5. Instalar Selenium Server JAR [Enlace]
  6. Biblioteca de cliente de Appium [Enlace]
  7. Información de la aplicación APK en Google Play [Enlace]
  8. js (No es obligatorio: siempre que se instala el servidor de Appium, de forma predeterminada viene con "Node.exe" y NPM. Se incluye en la versión actual de Appium).
  9. Instalar Appium Desktop

Instale Appium Desktop:

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

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

Paso 2) Para Windows, seleccione el archivo exe y descárguelo. El archivo tiene un tamaño aproximado de 162 MB y tardará un tiempo en descargarse en función de la velocidad de Internet.

Paso 3) Haga clic en el archivo ejecutable descargado.

Paso 4) En una máquina con Windows, no es necesario instalar Appium. Se ejecuta directamente desde el exe. Una vez que haga clic en el exe, verá la siguiente imagen durante unos minutos.

Para Mac, necesita instalar el dmg

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

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

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

Paso 8) Puede ingresar las capacidades deseadas e iniciar una sesión.

Inspector APPIUM

Similar a la herramienta de reproducción y grabación IDE de Selenium, Appium tiene un 'Inspector' para grabar y reproducir. Registra y reproduce el comportamiento de la aplicación nativa inspeccionando DOM y genera los 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 de origen o los archivos .app de local para probar.
  2. Marque la casilla de verificación 'Ruta de la aplicación' para habilitar el botón 'Elegir'.

Paso 2) Ahora, haga clic en el botón 'Elegir' y le dará la opción de buscar y seleccionar el archivo de prueba de la unidad local.

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 icono de color azul, se abrirá el inspector y el simulador de Appium con una aplicación preseleccionada.

Paso 5) : al iniciar su Appium Inspector, se mostrará la jerarquía de elementos en una estructura de columnas. Además, un usuario puede aplicar acciones usando botones como Tap, Swipe, etc.

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

Adjuntar emulador de Android a Appium

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

Vaya a 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".

Paso 2) Ahora, desde la ventana emergente 'Variables de entorno', 'haga doble 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: \ Usuario \ ABC \ Desktop \ adt-bundled-windows-x86_64-20140321 \ sdk

Paso 3) Inicie su emulador de Android o conecte cualquier dispositivo Android a su sistema. ).

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 \ platform-tools).

Paso 5) - Ejecute el comando 'adb devices'. Puede ver su dispositivo conectado en la lista de la ventana 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 )

Paso 6) - Ejecute el comando 'adb start-server'. Se iniciará el servidor ADB que será utilizado por Appium 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 o el número de puerto y haga clic en el botón 'Iniciar'. Su consola de Appium comienza en 127.0.0.1:4723 como se muestra a continuación.

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

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

Paso 1) ) Descargue el complemento ADT eclipse o descargue ADT incluido por separado aquí

Paso 2) Abra Eclipse y cree un nuevo proyecto >> Paquete >> Clase

Paso 3) Importe la biblioteca de Selenium y Testng dentro de ese nuevo proyecto.

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

paquete src_Appium;import java.net.MalformedURLException;import java.net.URL;import org.openqa.selenium.By;importar org.openqa.selenium.WebDriver;import org.openqa.selenium.WebElement;// importar org.openqa.selenium.remote.CapabilityType;importar org.openqa.selenium.remote.DesiredCapabilities;importar org.openqa.selenium.remote.RemoteWebDriver;importar org.testng.annotations. *;Calculadora de clase pública {Controlador WebDriver;@Antes de clasepublic void setUp () lanza MalformedURLException {// Configure las capacidades deseadas y pase la actividad de la aplicación de Android y el paquete de la aplicación a AppiumCapacidades DesiredCapabilities = new DesiredCapabilities ();capacidades.setCapability ("BROWSER_NAME", "Android");capacidades.setCapabilidad ("VERSIÓN", "4.4.2");capacidades.setCapability ("deviceName", "Emulator");capacidades.setCapability ("platformName", "Android");capacidades.setCapability ("paquete de aplicaciones", "com.android.calculator2");// Este nombre de paquete de su aplicación (puede obtenerlo de la aplicación de información apk)capacidades.setCapability ("appActivity", "com.android.calculator2.Calculator"); // Esta es la actividad del Lanzador de su aplicación (puede obtenerla de la aplicación de información apk)// Cree una instancia de RemoteWebDriver y conéctese al servidor de Appium// Lanzará la aplicación Calculadora en el dispositivo Android usando las configuraciones especificadas en Capacidades deseadasdriver = new RemoteWebDriver (nueva URL ("http://127.0.0.1:4723/wd/hub"), capacidades);}@Pruebapublic void testCal () lanza Exception {// ubica el texto en la calculadora usando By.name ()WebElement two = driver.findElement (By.name ("2"));dos.click ();WebElement plus = driver.findElement (By.name ("+"));plus.click ();WebElement cuatro = driver.findElement (By.name ("4"));cuatro.click ();WebElement equalTo = driver.findElement (By.name ());equalTo.click ();// ubica el cuadro de edición de la calculadora usando By.tagName ()Resultados de WebElement = driver.findElement (By.tagName ("EditText"));// Verifique el valor calculado en el cuadro de ediciónafirmar results.getText (). equals ("6"): "El valor real es: + results.getText () + "no coincide con el valor esperado: 6";}@Después de clasesdesmontaje de vacío público () {// cierra la aplicacióndriver.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á en la consola de Eclipse 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 conmutación de la aplicación de la aplicación web a la nativa y viceversa.
  3. No hay soporte para ejecutar Appium Inspector en Microsoft Windows.

Errores comunes encontrados y pasos para la resolución de problemas en Appium

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