Algunos de los retos más comunes en que los Testers se encaran con Selenium

Una de las mejores cosas de estar en calidad del software es que siempre hay algo nuevo que aprender. A medida que la industria va avanzando y se va introduciendo la automatización de Test, hay nuevos retos a los que afrontarse, como Selenium.

Como con el resto de herramientas, podemos encontrar muy buenos recursos dónde se explica cómo usar Selenium, por lo que no me voy a poner a ello. Lo que si me gustaría explicar en este post es, todo lo que se puede hacer con las diferentes herramientas que nos podemos encontrar.

Selenium IDE, para empezar

Selenium automatiza el navegador para imitar las acciones reales de los usuarios en la web. Selenium IDE es un entorno de desarrollo integrado para pruebas con Selenium. No necesitas saber programar, está implementado como una extensión de Firefox y permite grabar, editar y depurar pruebas. Una vez creada la grabación, puedes modificar los scripts y adaptarlo a tus pruebas.

Selenium WebDriver, para programar scripts.

Es una versión más avanzada de Selenium. WebDriver es un marco de automatización web que te permite ejecutar tus pruebas contra diferentes navegadores, no sólo Firefox (a diferencia de Selenium IDE).  También te permite usar un lenguaje de programación para crear sus scripts de prueba, utilizando diferentes lenguajes de programación, compatibles con Selenium. (Java, Red, PHP, Pitón, Perl, Rubí)

Selenium Grid, pruebas secuenciales

Es un servidor que permite usar instancias de navegador ejecutándose en máquinas remotas. Con Selenium Grid, uno de los servidores actúa como concentrador. Las pruebas contactan al concentrador para obtener acceso a instancias de navegadores; el concentrador lleva una lista de instancias de los navegadores (Nodos de WebDriver) y permiten a las pruebas usar estas instancias. Selenium Grid permite ejecutar pruebas en paralelo en múltiples máquinas y manejar diferentes versiones y configuraciones de manera centralizada.

Selenium Grid + device lab, pruebas en paralelo

Con Selenium Grid y dispositivo lab se podrán hacer pruebas en paralelo. Esto significa que las pruebas múltiples en diferentes configuraciones pueden ejecutarse al mismo tiempo, reduciendo el tiempo que se tarda en ejecutar pruebas automatizadas e incrementar las configuraciones en las que puede probar.

Appium “primo hermano de Selenium para móbiles”

Selenium, no puede probar aplicaciones para móviles (iOS y Android).
Appium, es un framework de automatización de pruebas de código abierto que impulsa las aplicaciones nativas, móviles e híbridas de iOS y Android mediante el protocolo WebDriver y puede utilizarse para este propósito para probar aplicaciones móviles en lugar de aplicaciones web. A medida que los usuarios se mueven cada vez más hacia dispositivos móviles, no es de extrañar que los desarrolladores y probadores estén aprovechando las funcionalidades de Appium para este propósito.

Selenium para avanzar …

A medida que la web se vuelve más compleja, el uso de selenium para probar se ha vuelto cada vez más popular. A pesar de que ha hecho las pruebas web mucho más fácil para muchos equipos y organizaciones de todo el mundo, todavía tiene su justa parte de los desafíos debido a su naturaleza de código abierto. Algunos trucos, que puede que vengan bien tener en cuenta antes de empezar:

Ventanas emergentes, Las alertas basadas en web pueden ser manejadas con el método switchTo para controlar el pop-up manteniendo el navegador en segundo plano.

Una página web que tiene contenido cargado dinámicamente tiene elementos que pueden no estar al principio visibles cuando visita el sitio. Selenium viene con una espera explícita integrada donde se puede especificar una cantidad de tiempo de espera antes de automatizar un comando. Esto debería ayudar a dar a la página el tiempo suficiente para cargar e identificar el elemento con el que interactuar.

Selenium no tiene muy trabajada la parte de los Informes. Para este propósito, Selenium se complementa mejor con una herramienta de terceros como CrossBrowserTesting que puede capturar capturas de pantalla y compartir informes a través de integraciones como Slack y HipChat. Sin embargo, también puede configurar un marco para generar una carpeta de salida después de una prueba con información de informe como errores, tiempo de ejecución, cuenta de paso / error, etc. como TestNG.

Selenium tiene la capacidad de probar en múltiples pestañas. El mejor método para esto es almacenar el identificador de ventana anterior en una variable y luego continuar en la nueva ventana y almacenarla en una segunda variable. A continuación, puede utilizar el método switchTo para ir entre ambas ventanas según sea necesario.

No todo se puede automatizar. Por lo que hay que aprender a priorizar.