Descubre las funcionalidades de Selenium WebDriver

3 min read
13 de junio de 2018

Selenium es un recurso que se utiliza para automatizar  pruebas de sistemas. Esta herramienta permite al usuario reproducir el ambiente real de la aplicación.

A  lo que se suma, que a través de una extensión se pueden crear los scripts de prueba de manera sencilla. Esta es una de las herramientas de Selenium para crear pruebas automatizadas. Permite la ejecución directa de pruebas vía código fuente en el servidor.

Por eso, es una interfaz clave en la que ejecutamos los scripts en algunos de los siguientes lenguajes de programación:

  • Java
  • C#
  • Ruby
  • Python
  • Javascript (Node)

¿Qué navegadores se pueden usar con Selenium WebDriver?

  • Mozilla: al ejecutar la prueba en este navegador debes tener los tiempos de carga del sitio web y parametrizarlos dentro de los scripts, aunque en las últimas actualizaciones esto ya no es un problema. 
  • Google Chrome: Selenium WebDriver funciona tan bien con el navegador de Google que es el más recomendable para usarlo.
  • Opera: si se configura bien, puede funcionar igual que Google Chrome, pero es un poco más lento.
  • Microsoft Edge: antes de poder usar este navegador, tendremos que hacer ciertas configuraciones para que funcione. Si se configura bien, puede que funcione correctamente, pero la carga de las páginas puede ser más lenta de lo normal.
  • Internet Explorer: para usar este navegador es necesario asegurarse de que esté disponible en su $PATH (%PATH% en Windows), eso si desea utilizar las últimas y mejores características del WebDriver InternetExplorerDriver, para que IE Driver funcione como se espera.

Ventajas del Selenium WebDriver

  • WebDriver está diseñado en una interfaz de programación más simple y concisa junto con algunas limitaciones en la API de Selenium-RC.
  • Comparada con Selenium 1.0, WebDriver es una API compacta orientada a objetos.
  • Impulsa el navegador de manera mucho más efectiva y supera las limitaciones de Selenium 1.x, que afectó la cobertura de prueba funcional, como la carga o descarga de archivos, ventanas emergentes y barreras de diálogo.
  • WebDriver supera la limitación de la política de origen de host único de Selenium RC.

Nota: Selenium WebDriver es lo que se está usando actualmente para automatizar flujos críticos.

¿Y cómo funciona en aplicaciones móviles?

Usar Selenium WebDriver mobile no tiene mucha diferencia que hacerlo con el Selenium WebDriver para navegadores. Lo único que cambia son los drivers y la interfaz, que simula un Android. Aunque hay muy pocas herramientas estables que podemos aprovechar, aún así es posible hacerlas.

Lee también sobre pruebas no funcionales de software

Appium está basado en Selenium

 Appium es un framework de automatización de pruebas de código abierto que impulsa aplicaciones nativas, móviles e híbridas tanto para iOS como para Android. Appium está basado en Selenium, pues utiliza el protocolo WebDriver. Appium se usa para probar aplicaciones móviles en lugar de aplicaciones web en navegadores de escritorio.

La comunicación de Appium y Selenium es bastante efectiva por el simple hecho de que podemos usar la simulación o manipulación de un dispositivo móvil y ejecutar los scripts. Appium funciona como un WebDriver, pero, en lugar de abrir un navegador, abre un dispositivo móvil, ya sea simulado o manipulado.

Este tipo de pruebas no solo se puede usar en Android. También hay otras herramientas para los Windows Phone y los iOS. Sin embargo, para hacer pruebas automatizadas en móviles es recomendable usar Android, debido a su compatibilidad con Appium y con Selenium WebDriver.

¿Qué podemos automatizar con Selenium WebDriver?

Como Selenium WebDriver nos sirve tanto para navegadores como para móviles, podemos capturar cualquier cosa que un usuario final pueda hacer en cualquier dispositivo.

Con Selenium WebDriver podemos automatizar aquellos procesos críticos que nos tomarían mucho tiempo ejecutar manualmente. Por ejemplo, un formulario con más de cuatro pasos y un proceso largo que esté en constante revisión.

Cosas que deberíamos automatizar:

  • Procesos que estén en constante revisión con el objetivo de ejecutar la funcionalidad de un módulo por desarrolladores o testers.
  • Flujos críticos y repetitivos que debemos pasar para llegar a cierto módulo.
  • Respuestas de servidores con peticiones HTTP.
  • Validaciones de base de datos hacia la vista.
  • Configuración en concreto que debe de hacer un usuario para poder entrar al sistema.

Cosas que no deberíamos automatizar:

  • Procesos que estén en constante revisión con el objetivo de revisar diseño.
  • Flujos que no es necesario pasar para poder llegar a un módulo.
  • Procesos de solo contenido.
  • Automatizar aquellos flujos que se ejecutan en largos periodos de tiempo como por ejemplo una vez al año.

Si quieres tener más herramientas para desarrollar pruebas, lee más sobre certificación de software

Como ves, Selenium WebDriver es una herramienta efectiva que reduce el tiempo que nos toma crear pruebas automatizadas. ¿Alguna vez la has usado?

Nuevo llamado a la acción

Suscríbete al
Blog Pragma

Recibirás cada mes nuestra selección de contenido en Transformación digital.

Imagen form