07/04/2021 | Consejos tecnológicos,Desarrollo de aplicaciones,Tecnologías

Introducción a pruebas automatizadas con Appium

Como ya sabéis, actualmente existe una gran variedad de dispositivos y plataformas, las cuales a su vez, cuentan con distintas versiones. Esto puede ocasionar que el testing de aplicaciones pueda resultar bastante complejo y llevarnos mucho tiempo y esfuerzo. En estas circunstancias Appium nos puede ser de gran ayuda.

¿Qué es Appium?

Appium es una herramienta open-source para la automatización de aplicaciones web nativas e híbridas en las plataformas móviles iOS y Android, y en la plataforma de escritorio Windows.
Es cross-platform por lo que es posible crear pruebas en diversas plataformas utilizando la misma API. Esto permite la reutilización de código entre conjuntos de casos de prueba definidos para una aplicación desarrollada para varias plataformas.

Appium emplea el WebDriver de Selenium, que es un entorno de pruebas para aplicaciones web y que especifica un protocolo cliente-servidor conocido como JSON Wire Protocol. Esto permite al cliente el uso de marcos de pruebas escritos en cualquier lenguaje, enviando las solicitudes HTTP apropiadas al servidor.

¿Cómo funciona?

El funcionamiento a grandes rasgos es el siguiente:

– La prueba que se está ejecutando en la máquina es enviada al servidor.
– Este envía los comandos al framework para pruebas correspondiente a cada plataforma.
– En Android es Google’s UI Automator, en iOS Apple’s UI Automation.

Existen muchas herramientas similares a Appium, tales como MonkeyTalk, KIF, Calabash, entre otros. A diferencia de Appium, la mayoría de ellas requieren un componente adicional que se debe compilar con el código de la aplicación para que la herramienta pueda interactuar con ella. Como consecuencia, se deberá eliminar lo añadido para la automatización a la hora de publicarla.

Una fase importante en la automatización de pruebas es la localización de los elementos con los que se desea interactuar. Appium permite comprobar automáticamente las propiedades y el comportamiento de los distintos elementos (botones, cajas de texto, etc) que componen la interfaz gráfica de una aplicación. Esto es posible mediante el uso de herramientas que inspeccionan los elementos de la aplicación como, por ejemplo, UIAutomatorViewer o el propio inspector de Appium, y a través de métodos de Selenium como FindElement, By, etc.

Aplicaciones híbridas

En el caso de aplicaciones híbridas, al utilizar un navegador integrado en una aplicación nativa, conocido como WebView, algunas herramientas de inspección no nos permiten acceder a lo que está bajo el WebView. Por este motivo se suele emplear el depurador de Chrome.

Aún con la gran ayuda que brinda Appium, presenta algunos inconvenientes como son:

  • No se pueden ejecutar las pruebas en varios dispositivos iOS a la vez. Para solventar esta limitación se puede ejecutar el script de prueba en la nube móvil de la compañía Sauce Labs, lo que permite su ejecución en varios simuladores de iOS al mismo tiempo.
  • El uso de UIAutomatorViewer en Android es válido a partir de la API 16 (Jelly Bean) en adelante. Para solucionarlo se debe emplear la biblioteca open-source Selendroid, dando soporte a las APIs más antiguas.
Compartir en:

Relacionados