Cómo ejecutar el mismo script en varios dispositivos usando Appium

La prueba de automatización de aplicaciones móviles ha estado presente desde hace tiempo. En los primeros días, tener una suite de pruebas automatizadas para su aplicación se consideraba un lujo. Pero ahora, se ha convertido en una parte esencial de DevOps.

Hay muchos beneficios de la prueba de automatización, pero los siguientes tres son los más importantes:

  • Aumento de la cobertura de pruebas: La prueba de automatización le permite probar más características en menos tiempo. Esto significa que puede aumentar su cobertura de pruebas sin incrementar su presupuesto de pruebas.
  • Reducción del riesgo de errores humanos: Las pruebas automatizadas tienen menos probabilidades de omitir casos límite u otros errores al probar manualmente una aplicación.
  • Respuesta más rápida: Las pruebas automatizadas se pueden ejecutar mucho más rápido que las pruebas manuales. Esto significa que puede obtener feedback sobre su aplicación mucho antes, lo que puede ayudarle a solucionar problemas antes de que se conviertan en problemas mayores.

La prueba de automatización de aplicaciones móviles es un proceso valioso que puede ayudarle a lanzar aplicaciones de mejor calidad en menos tiempo.

Pero surge la pregunta: ¿estás cubriendo suficientes dispositivos para probar tu aplicación y garantizar su calidad de primera clase? La prueba de tu aplicación en un solo dispositivo o en varios puede resultar en problemas específicos de dispositivo, problemas de interfaz de usuario en diferentes resoluciones y problemas funcionales en diferentes versiones de SO.

¿Por qué es importante ejecutar el mismo script en varios dispositivos?

Prueba de una aplicación en varios dispositivos es un paso importante en el proceso de QA. Debemos asegurarnos de que nuestra aplicación funcione con diferentes dispositivos, versiones de SO y tamaños de pantalla.

Existen muchas razones por las que es importante probar aplicaciones en varios dispositivos. Una de las razones más importantes es que los usuarios pueden usar diferentes tipos de dispositivos para acceder a la misma aplicación. No podemos predecir qué dispositivo utilizará un usuario para acceder a la aplicación, por lo que necesitamos asegurarnos de que funcione. Para garantizar que podemos ejecutar fácilmente nuestro Script de Automatización en varios dispositivos.

¿Cómo ejecutar el mismo script en varios dispositivos usando Appium?

Al ejecutar nuestro script de Appium, necesitamos pasar capacidades deseadas de Appium, que incluyen platformName, platformVersion, y nuestro deviceName.

{
"platformName": "iOS",
"platformVersion": "11.0",
"deviceName": "iPhone 9",
"automationName": "XCUITest",
"app": "/path/to/my.app"
}

Copied

Para ejecutar su script de prueba en otro dispositivo, necesitamos cambiar las capacidades deseadas de nuestro script de prueba, y ejecutará nuestro script de prueba en ese dispositivo específico. No es necesario cambiar nuestro script de prueba para ejecutarlo en diferentes dispositivos. Sin embargo, puede ser diferente de ejecutar scripts de prueba en dispositivos Android e iOS, ya que los localizadores de elementos pueden diferir en dispositivos Android e iOS. Pero un script escrito para cualquier dispositivo Android o iOS puede ejecutarse en todos los dispositivos con el mismo SO cambiando las capacidades deseadas.

Desafíos en la Gestión de Múltiples Dispositivos

Ejecutar su script en varios dispositivos es la parte fácil en su proceso de Pruebas de Automatización, pero gestionar esos dispositivos y poseer varios dispositivos es la parte más difícil y una operación costosa para su proceso de automatización. Si solo hablamos de iPhones, van desde el iPhone 6 al iPhone 13, que son utilizados por los usuarios con una mezcla de iOS 11 a iOS 16. Y, cuando se trata de Android, estos números aumentan masivamente. Ningún equipo puede manejar o poseer todos los dispositivos populares presentes en el mercado con diferentes versiones de SO.

Emulador/Simulador como Alternativa

En primer lugar, lo que viene a nuestra mente para resolver esto es usar emuladores y simuladores para diferentes dispositivos. Pero probar en un emulador/simulador no es lo mismo que probar en Dispositivos Reales. Si bien los simuladores y emuladores se acercarán a la imitación, es imposible realizar la misma prueba que en un dispositivo real. Esto se debe a que los emuladores no pueden considerar cada factor ambiental, característica o acción del usuario realizado en un dispositivo real. La ventaja de los dispositivos reales está en el nombre. Probar en dispositivos reales, físicos significa que estás probando de la misma manera que tus usuarios operan sus dispositivos.

Pruebas en Dispositivos Reales: Ventaja

Aquí BrowserStack viene como salvador para despejar el desorden de los dispositivos. BrowserStack App Automate proporciona todos los dispositivos populares con diferentes versiones de SO para probar automáticamente su aplicación usando Appium. Puede integrar fácilmente BrowserStack en su marco de trabajo para probar sus scripts en varios dispositivos.

Ejecutar scripts de Appium en varios dispositivos usando BrowserStack

Ejecutar su script de prueba en BrowserStack con varios dispositivos es bastante fácil utilizando App Automate. Solo necesita seguir unos pocos pasos para cambiar sus configuraciones y integrará su automatización de pruebas existente con BrowserStack.

Paso 2: Suba su archivo .apk o .ipa en BrowserStack. Puede hacer esto utilizando Sube tu App en tu Tablero o también puede usar las API de BrowserStack para subirlo automáticamente. Después de subir su aplicación, obtendrá una URL de la aplicación.

{
"app_url":"bs://f7c874f21852ba57957a3fdc33f47514288c4ba4"
}

Copied

Paso 3: Especifica la aplicación bajo prueba usando la capacidad app. Usa el valor app_url devuelto al subir la aplicación (Paso 2) para establecer esta capacidad.

  • Especifica el dispositivo real de Android o iOS que deseas probar usando la capacidad device.
  • Para inicializar un controlador de Appium, utiliza una URL remota de BrowserStack junto con tus credenciales de acceso de BrowserStack (mencionadas en el paso 1) como se muestra a continuación:

https://TU_USUARIO:[email protected]/wd/hub

Se verá así:

userName = "YOUR_USERNAME"
accessKey = "YOUR_ACCESS_KEY"
desired_caps = { "build": "Android",
"device": "Samsung Galaxy S8 Plus",
platformVersion": "11.0",
"app": "<app_url>"
}
driver = webdriver.Remote("https://" + userName + ":" + accessKey +
"@hub-cloud.browserstack.com/wd/hub", desired_caps)

Copied

Haciendo esto, tu script de Appium comienza a ejecutarse en los Dispositivos Reales de BrowserStack en la nube.

Puedes cambiar fácilmente el dispositivo cambiando su nombre y versión de la plataforma en las capacidades deseadas. En BrowserStack, también puedes ejecutar tu prueba en paralelo para terminar tu automatización más rápido. BrowserStack proporciona Video, Registros del Dispositivo, Registros de Red y Registros de Appium para depuración, y puedes verificar tus ejecuciones de prueba en tu Tablero. BrowserStack puede ayudarte a ejecutar tus Scripts de Prueba con varios dispositivos, y no tienes que manejar estos dispositivos tú mismo.

Para concluir,

La herramienta App Automate de BrowserStack facilita la prueba en varios dispositivos reales. Simplemente cambiando las Capacidades Deseadas, el usuario puede ejecutar fácilmente pruebas en miles de dispositivos y determinar sistemáticamente si su aplicación está lista para su lanzamiento o no. Los equipos de QA encontrarán fácil el uso del panel de resultados para detectar y depurar problemas instantáneamente.

Ejecuta Pruebas de Appium Gratis

Source:
https://www.browserstack.com/guide/how-to-run-same-script-in-multiple-devices-using-appium