Capacidades deseadas de Appium para el emulador de Android (ejemplo)

Tabla de contenido:

Anonim

Este tutorial le ayudará a comprender la herramienta de automatización APPIUM. Cubrirá las capacidades deseadas y los usos de APPIUM con Maven.

En este tutorial, aprenderá:

  • ¿Qué son las capacidades deseadas?
  • Extracción de información de paquetes y actividades

Cuáles son las capacidades deseadas

Las 'Capacidades Deseadas' nos ayudan a modificar el comportamiento del servidor durante la Automatización. En Appium, es un tipo de mapa hash o par clave-valor, que se utiliza para enviar un comando al servidor APPIUM. En APPIUM, todos los comandos del cliente se ejecutan en el contexto de una sesión.

Por ejemplo, un cliente envió una solicitud POST / sesión que contiene un objeto JSON al servidor APPIUM.

Por lo tanto, para enviar cualquier solicitud deseada o para mantener cualquier sesión deseada con el servidor, se utiliza un conjunto de pares de clave y valor. Esto se conoce como "Capacidades deseadas".

import io.appium.java_client.AppiumDriver;importar org.openqa.selenium.remote.DesiredCapabilities;{Capacidades DesiredCapabilities = new DesiredCapabilities ();capacidades.setCapability ("deviceName", "Emulador de Android");capacidades.setCapabilidad ("platformVersion", "4.4");}

Papel importante de la capacidad deseada

  • 'DesiredCapabilities' ayuda al usuario a controlar la solicitud de sesión con el servidor. Por ejemplo, si queremos una sesión de iOS, entonces podríamos configurar Capability como PlatformName = iOS. O si queremos una sesión de Android, entonces podríamos configurar Capability como PlatformName = Android.
  • 'DesiredCapabilities' se utilizan para configurar la instancia de Webdriver, por ejemplo: FirefoxDriver, ChromeDriver, InternetExplorerDriver, etc.
  • DesiredCapability es muy útil para Selenium Grid. Por ejemplo: se utiliza para acceder a diferentes casos de prueba en un navegador diferente y un sistema operativo diferente. Según la cuadrícula de capacidad deseada mencionada, el concentrador apuntará al nodo correspondiente. Aquí, estos nodos se definen utilizando el método de propiedad 'set', por ejemplo: -
    DesiredCapabilities obj = new DesiredCapabilities ();obj.setBrowserName ("firefox");obj.setVersion ("18.0.1");obj.setPlatform (org.openqa.selenium.Platform.WINDOWS);
  • Una capacidad deseada es un paquete definido por biblioteca. Antes de usar 'DesiredCapabilities', debe importarse de la biblioteca mencionada a continuación
    Org.openqa.selenium.remote.DesiredCapabilities

APPIUM es compatible con Android e iOS. Por lo tanto, existe un conjunto separado de capacidades de servidor de Appium.

La siguiente tabla muestra algunas capacidades de Android de uso común y su valor de uso:

Capacidades Descripción Valores / Usos
appPackage Llame al paquete Java deseado en Android que el usuario desea ejecutar Valor = com.example.myapp /
Obj.setCapability ("paquete de aplicaciones", "com.whatsapp");
appActivity Actividad de la aplicación que el usuario desea iniciar desde el paquete. Valor = MainActivity, .Settings
Obj.setCapability ("appActivity", "com.whatsapp.Main");
appWaitPackage Paquete desde el que la aplicación debe esperar Valor = com.example.android.myapp
appWaitActivity Cualquier actividad de Android en la que el usuario necesite tiempo de espera Valor =
capacidades de SplashActivity.setCapability ("appWaitActivity", "com.example.game.SplashActivity")

NOTA : consulte este enlace 'https://appium.io/docs/en/writing-running-appium/caps/#android-only' para ver más capacidades de Android

La siguiente tabla muestra algunas capacidades de iOS de uso común y su valor de uso

Capacidades Descripción Valores
LaunchTimeout Tiempo total (en ms) para esperar la instrumentación. 2000
TU HICISTE Para identificar un número de dispositivo único para el dispositivo físico conectado 166aestu4

NOTA: consulte este enlace 'http://appium.io/slate/en/master/?java#ios-only' para ver más capacidades de iOS

Extracción de información de paquetes y actividades

Los paquetes están relacionados con clases o archivos empaquetados. Da una estructura organizada a la programación modular. En Java, los diferentes paquetes se almacenan en un solo archivo Jar. El usuario puede llamar fácilmente al archivo jar para su ejecución completa. Se siguieron conceptos similares en el mundo del desarrollo de aplicaciones móviles.

En el sistema operativo Android, todas las aplicaciones se instalan en forma de paquetes JAVA. Por lo tanto, para extraer la información de la ruta de los paquetes, se utiliza la clase PackageManager de Android.

Recupera información de paquetes y actividades de aplicaciones preinstaladas y posteriores. Está instalado en dispositivos Android.

Puede obtener una instancia de la clase PackageManager llamando a getPackageManager ().

Este método puede acceder y manipular los paquetes y los permisos relacionados de las aplicaciones instaladas.

Por ejemplo -

PackageManager pManager = getPackageManager ();Lista  list = pManager.getInstalledApplications (PackageManager.GET_META_DATA) 

Resumen:

  • La capacidad deseada siempre se ejecuta en un par clave-valor para enviar un comando al servidor APPIUM.
  • Utilice la clase 'PackageManager' para extraer información de la aplicación en Android.