Appium Tutorial para principiantes

โšก Resumen inteligente

Appium Tutorial para Android y iOS Mobile Apps Testing presenta un marco de automatizaciรณn de interfaz de usuario de cรณdigo abierto que impulsa aplicaciones nativas, hรญbridas y web en ambas plataformas con un รบnico SeleniumAPI compatible. Esta guรญa explica cรณmo Appium funciona, pasos de instalaciรณn, el Inspector, conexiรณn del emulador y un Java Caso de prueba de la calculadora.

  • ???? Definiciรณn bรกsica: Appium es un marco de automatizaciรณn de interfaz de usuario mรณvil de cรณdigo abierto que admite aplicaciones nativas, hรญbridas y web en Android y iOS a travรฉs de una รบnica API.
  • ???? Modelo de servidor HTTP: Appium Funciona como un servidor HTTP Node.js que traduce los comandos JSON de WebDriver en llamadas de automatizaciรณn especรญficas de la plataforma.
  • ๐Ÿงฐ Conjunto de herramientas: Los requisitos previos necesarios incluyen: Android SDK, JDK, Eclipse, TestNG, Selenium JAR del servidor, el Appium biblioteca de clientes y Appium Escritorio.
  • ๐Ÿ” Inspector y registrador: Appium El Inspector inspecciona las jerarquรญas de elementos y genera scripts repetitivos, mientras que el Visor de UIAutomator es el Windows retroceder.
  • โ˜• Java Flujo de trabajo de prueba: Utilice DesiredCapabilities, RemoteWebDriver y TestNG anotaciones para lanzar y validar nativo Android aplicaciones como la Calculadora.

Appium Tutorial para Android y pruebas de aplicaciones mรณviles iOS

ยฟQuรฉ es Appium?

Appium es una interfaz de usuario de aplicaciรณn mรณvil de cรณdigo abierto y distribuciรณn gratuita las pruebas marco de referencia. Appium Permite realizar pruebas de aplicaciones nativas, hรญbridas y web, y admite la automatizaciรณn en dispositivos fรญsicos, asรญ como en emuladores y simuladores. Ofrece pruebas de aplicaciones multiplataforma: una รบnica API funciona para ambas. Android y scripts de prueba para iOS.

Appium tiene no dependencia del sistema operativo del dispositivo mรณvil. El marco envuelve y traduce Selenium Comandos de WebDriver en UIAutomation (iOS) o UIAutomator (Android) comandos que dependen del tipo de dispositivo, no de la versiรณn del sistema operativo subyacente.

Appium admite todos los idiomas que tienen Selenium bibliotecas de clientes โ€” Java, Objetivo-C, JavaScript con Node.js, PHP, Ruby, Python, C#, y mรกs.

Cรณmo Se Compara Appium ยฟTrabajo?

  • Appium es un servidor HTTP escrito en el Node.js plataforma que impulsa iOS y Android sesiones que utilizan el protocolo de cable JSON de WebDriver. Node.js debe estar preinstalado en el sistema antes de iniciar la Appium servidor.
  • Cuando Appium Una vez descargado e instalado, se configura un servidor en la mรกquina local que expone una API REST.
  • El servidor acepta las solicitudes de conexiรณn y de comandos del cliente y ejecuta los comandos en un dispositivo mรณvil (Android o iOS).
  • Responde con respuestas HTTP. Para ejecutar solicitudes, Appium Llamadas a marcos de automatizaciรณn mรณvil nativos para controlar la interfaz de usuario de la aplicaciรณn:
    • 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 Nivel de API 16 o superior.
    • Selendroid por la Android Nivel de API 15 o inferior.

Requisitos previos para su uso Appium

  1. Instale Android SDK (Estudio) [Enlace].
  2. Instale JDK (Java Kit de desarrollo) [Enlace].
  3. Instale Eclipse [Enlace].
  4. Instale TestNG por la Eclipse [Enlace].
  5. Instale Selenium Jarra del servidor [Enlace].
  6. Appium Biblioteca cliente [Enlace].
  7. Informaciรณn de la aplicaciรณn APK on Google Jugar [Enlace].
  8. Node.js (no es estrictamente necesario โ€” cuando Appium El servidor estรก instalado, Node.exe y NPM vienen incluidos con la versiรณn actual. Appium versiรณn).
  9. Instale Appium Escritorio.

Instale Appium Escritorio

Appium Desktop es una aplicaciรณn GUI de cรณdigo abierto que se instala y ejecuta Appium Servidor. Viene con todos los requisitos previos necesarios para usar el Appium Se trata de un servidor que incluye un Inspector para mostrar informaciรณn bรกsica sobre tus aplicaciones y un Grabador para generar cรณdigo repetitivo que automatiza las aplicaciones mรณviles.

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

Appium Pรกgina de descarga del sitio oficial

Paso 2) Para WindowsSelecciona el archivo .exe y descรกrgalo. El archivo pesa aproximadamente 162 MB y la descarga tardarรก un tiempo que dependerรก de la velocidad de tu conexiรณn a internet.

Elija  Windows Appium Instalador de escritorio

Paso 3) Haz clic en el archivo .exe descargado.

Ejecutar Appium ejecutable del instalador de escritorio

Paso 4) En un Windows mรกquina, no hay asistente de instalaciรณn โ€” Appium Se ejecuta directamente desde el archivo .exe. Despuรฉs de hacer clic en el archivo .exe, aparece la siguiente pantalla durante unos minutos.

Appium Animaciรณn de carga del escritorio

Para macOS, necesitas instalar el archivo .dmg.

Paso 5) Se abre la ventana de inicio del servidor. Rellena el host y el puerto predeterminados (que puede cambiar) y muestra la Appium versiรณn en uso.

Appium Ventana de inicio del servidor con host y puerto

Paso 6) Haga clic en Iniciar servidorSe inicia un nuevo servidor en el host y puerto especificados, y la salida del registro del servidor aparece en la consola.

Appium Salida del registro del servidor despuรฉs del inicio

Paso 7) Haga clic en Ventana de nueva sesiรณn.

Abrir nueva ventana de sesiรณn en Appium Escritorio

Paso 8) Introduzca las funcionalidades deseadas e inicie una sesiรณn.

Ingrese las capacidades deseadas para comenzar. Appium durante toda la sesiรณn.

Appium Inspector

Similar a la Selenium Herramienta de grabaciรณn y reproducciรณn IDE, Appium tiene un Inspector para grabar y reproducir pruebas. Graba y reproduce el comportamiento de la aplicaciรณn nativa inspeccionando el DOM y genera scripts de prueba en cualquier lenguaje compatible. Tenga en cuenta que Appium El inspector no es compatible con Microsoft Windows: en Windows lanza el Appium El servidor no puede inspeccionar los elementos. UIAutomator Viewer es la alternativa recomendada para inspeccionar elementos en Windows.

Pasos para comenzar Appium Inspector en un equipo Mac:

Paso 1) Descarga y comienza tu Appium El servidor utiliza la direcciรณn IP predeterminada 0.0.0.0 y el puerto 4725.

  1. Seleccione el archivo fuente o el archivo .app de su disco local para realizar pruebas.
  2. Marque la casilla "Ruta de la aplicaciรณn" para habilitar el botรณn "Elegir".

Paso 2) Haga clic en el botรณn "Elegir" para buscar y seleccionar el archivo de prueba en la unidad local.

Appium Selecciรณn de ruta de la aplicaciรณn Inspector en Mac

Paso 3) Inicie el simulador de iOS en la mรกquina Mac.

Paso 4) Haga clic en el botรณn Lanza botรณn en la esquina superior derecha. Esto activa un icono azul; haga clic en ese icono para abrirlo. Appium Inspector y el simulador con la aplicaciรณn preseleccionada.

Lanza Appium Inspector con simulador de iOS

Paso 5) Una vez lanzado, Appium El Inspector muestra la jerarquรญa de elementos en una estructura de columnas. El usuario tambiรฉn puede aplicar acciones como tocar, deslizar y gestos similares.

Appium Vista de jerarquรญa de elementos del inspector

Paso 6) Haga clic en Parada para finalizar la grabaciรณn.

Adjuntar un Android Emulador para Appium

Paso 1) Instale Android SDK en su sistema.

Abra el Panel de control > Sistema y seguridad > Sistema. En el panel izquierdo, haga clic en Configuraciรณn avanzada del sistema. En la ventana emergente Propiedades del sistema, haga clic en el Avanzado pestaรฑa y luego Variables de entorno.

Abrir variables de entorno en Windows

Paso 2) Desde la ventana emergente Variables de entorno, haga doble clic. Path y establecer el ANDROID_HOME Variable para apuntar a su directorio SDK. Aรฑada la ruta completa de la carpeta SDK. Por ejemplo:

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

Configura ANDROID_HOME en las variables de entorno.

Paso 3) Iniciar un Android emulador, o adjuntar un Android dispositivo a su sistema. Asegรบrese de que la depuraciรณn USB estรฉ habilitada en el Android Dispositivo: ve a Configuraciรณn del dispositivo > Opciones de desarrollador > habilita โ€œDepuraciรณn USBโ€.

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

Paso 5) Ejecute el adb devices comando. Su dispositivo conectado aparecerรก en la ventana del sรญmbolo del sistema. La forma completa es: adb -s emulator-5554 install <Location of .apk file>.

Salida del comando adb devices que muestra el emulador conectado

Paso 6) Ejecute el adb start-server comando. El servidor ADB se inicia y Appium lo usarรก para enviar comandos a su Android .

Paso 7) Navegue a la pestaรฑa Appium directorio en su sistema y comience Appium haciendo clic en Appiumarchivo .exe.

Paso 8) No modifique la direcciรณn IP ni el nรบmero de puerto predeterminados. Haga clic aquรญ. Lanza. Su Appium La consola se inicia en 127.0.0.1:4723 como se muestra a continuaciรณn.

Appium Consola ejecutรกndose en 127.0.0.1:4723

Paso 9) Haga clic en Comenzar. La funciรณn de Appium El servidor ya estรก funcionando en su sistema.

Appium Caso de prueba para un nativo Android Aplicaciรณn (Calculadora)

Paso 1) Descarga el ADT Eclipse Complemento o descarga el paquete ADT por separado. aquรญ.

Paso 2) Abra Eclipse y crea un nuevo Proyecto > Paquete > Clase.

Paso 3) Importar el Selenium biblioteca y TestNG en el nuevo proyecto.

Paso 4) Cree un pequeรฑo programa de prueba para Calculadora.app que suma 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.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 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");
        // Package name of the app (get it from an APK info app)
        capabilities.setCapability("appActivity", "com.android.calculator2.Calculator");
        // Launcher activity of the app (get it from an APK info app)

        // Create a RemoteWebDriver instance and connect to the Appium server
        // Launches the Calculator app on the Android device using the capabilities above
        driver = new RemoteWebDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
    }

    @Test
    public void testCal() throws Exception {
        // Locate the keys on the calculator 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 calculator output by tag name
        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();
    }
}

Iniciar el Appium El servidor y el Android Emulador desde el Administrador de AVD, luego haga clic en Ejecutar > TestNGEl programa ejecuta Calculator.app en el emulador seleccionado y el resultado se muestra en la Eclipse consola usando el TestNG marco de referencia.

Limitaciones de Appium

  1. Appium no admite pruebas en Android Versiones inferiores a 4.2.
  2. El soporte para las pruebas de aplicaciones hรญbridas es limitado; por ejemplo, no es posible probar la acciรณn de cambio entre una vista web y una vista nativa en ninguna direcciรณn.
  3. No hay soporte para la ejecuciรณn Appium inspector en Microsoft Windows.

Errores comunes y pasos para solucionar problemas en Appium

Error Pasos de soluciรณn de problemas
Error: Se requieren las siguientes capacidades deseadas, pero no se proporcionaron: deviceName, platformName Agregue las capacidades deseadas deviceName y platformName a la parte superior Appium guion. Por ejemplo: capabilities.setCapability("deviceName", "Emulator"); y capabilities.setCapability("platformName", "Android");
Error: No se pudo encontrar adb. Establezca la variable de entorno ANDROID_HOME con el Android Ruta del directorio raรญz del SDK. Establezca el directorio raรญz del SDK en las variables de entorno del sistema, en la entrada Path.
error: org.openqa.selenium.SessionNotCreatedException: No se pudo crear una nueva sesiรณn. Establezca una ruta de aplicaciรณn correcta y reinicie el Appium servidor.
Cรณmo encontrar un elemento DOM o XPath en una aplicaciรณn mรณvil? Utilice UIAutomator Viewer para inspeccionar los elementos DOM para Android aplicaciones.

Preguntas Frecuentes

Selenium automatiza los navegadores web; Appium Automatiza las aplicaciones mรณviles. Appium reutiliza el protocolo WebDriver, por lo que Selenium Los usuarios lo adoptan rรกpidamente, pero Appium Tambiรฉn impulsa aplicaciones nativas, hรญbridas y web mรณviles en Android y iOS a travรฉs de motores de automatizaciรณn especรญficos de la plataforma.

Appium admite todos los idiomas que tienen un Selenium Cliente WebDriver, incluyendo Java, Python, JavaScript con Node.js, Ruby, C#, PHP y Objective-C. Esto hace que Appium Adaptable a diversos equipos de ingenierรญa sin necesidad de cambiar de idioma.

Sรญ. Appium Prueba aplicaciones nativas instaladas en el dispositivo, aplicaciones hรญbridas con vistas web integradas y aplicaciones web mรณviles que se ejecutan en Chrome o Safari. Una รบnica API basada en WebDriver controla los tres tipos, lo que simplifica el mantenimiento de las pruebas multiplataforma.

La IA mejora Appium Los conjuntos de pruebas se optimizan mediante localizadores autorreparables, validaciรณn visual y pasos de prueba generados por IA. Los motores de IA detectan la desviaciรณn de los localizadores tras las actualizaciones de la aplicaciรณn, recomiendan alternativas XPath estables y clasifican automรกticamente las pruebas inestables para que los ingenieros puedan centrarse en los defectos reales en lugar de en el mantenimiento.

Sรญ. Las herramientas de prueba mรณvil de IA analizan las pantallas de las aplicaciones, identifican elementos interactivos y generan Appium scripts con las capacidades y localizadores deseados. Luego, los evaluadores revisan y refinan los scripts, lo que reduce el cรณdigo repetitivo y acelera la incorporaciรณn de equipos nuevos. Appium automatizaciรณn.

Resumir este post con: