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: