Primeros Pasos Para La Automatización De Pruebas Con Selenium Y Python - Parte I

Publicado el 26 Jul, 2022

¿Qué es la automatización de pruebas?

La automatización de pruebas comprende innumerables cosas, pero para el área de calidad de software la automatización de pruebas es una ejecución automática de pruebas funcionales, diseñadas para simular a un ser humano ejecutar pruebas manuales para lograr un objetivo.

Entre los objetivos que podemos encontrar para la automatización de pruebas, podríamos decir lo siguiente1:

  1. Mejorar la eficiencia de las pruebas reduciendo el costo de cada realización de una prueba.
  2. Probar más y otras cosas más que las que seríamos capaces de probar manualmente.
  3. Reducir la cantidad de tiempo necesario para ejecutar pruebas.
  4. Ser capaz de impulsar más las pruebas tempranas en el ciclo de vida del desarrollo de software.
  5. Aumentar la frecuencia con la que se pueden ejecutar las pruebas.

Ahora bien, la automatización de pruebas tiene ventajas y desventajas que dá para un artículo propio.

¿Qués es Selenium?

Selenium es una suite de herramientas para automatizar navegadores web, lo que se traduce a poder controlar las acciones del navegador, tal cual, si fuese un usuario humano. Selenium nos proveé de una API ó Interfaz de programación de aplicaciones, la cual, podemos trabajar en distintos lenguajes de programación, tales como:

  1. Java/Kotlin
  2. Python
  3. C#
  4. Ruby
  5. JavaScript

Y además soporta los siguientes navegadores web:

  1. Firefox
  2. Chromium/Chrome
  3. Edge
  4. Internet Explorer
  5. Safari

Esta API se denomina WebDriver y es una recomendación de la W3C para manipular el DOM de un documento web.

Selenium es actualmente el referente en la industria del software para automatizar el front-end, aunque, otras herramientas están ganando mucha fuerza como Cypress.io y PlayWright

Componentes de Selenium

Los componentes de selenium los podemos resumir en lo siguiente:

  1. API: Un set de comandos que nos permite manipular el WebDriver.
  2. Librerías: Módulos de código en los lenguajes de programación soportados por selenium para trabajar con la API.
  3. Drivers: Responsables de controlar el navegador web correspondiente y son ofrecidos/mantenidos por los propios navegadores.

Un ejemplo de cómo funciona selenium sería:

Selenium

Instalando La Libreria Selenium con PIP

Python nos proveé una fácil instalación de la librería de selenium usando el gestor de paquetes PIP y basta con el siguiente comando para tenerlo disponible en nuestro equipo:

pip install selenium

Debes considerar tener una versión de Python superior a la 3.7 para poder usar correctamente la libreria de selenium. En GNU/Linux lo puedes comprobar fácilmente con el comando python -v.

Si no tienes instalado python bastaría con sudo pacman -Syyu python python-pip para ArchLinux o sudo apt install python3 python3-pip para Debian/Ubuntu. En el caso de Windows debes dirigirte a la página de descargas en la web oficial de python.

Instalando los drivers de navegador

Como comenté líneas atrás, los drivers del navegador son puestos a disposición por las propias compañias que desarrollan los navegadores y debes dirigirte a las páginas web correspondientes, te recomiendo guardarlos en una carpeta dentro de tu propio projecto, yo suelo llamarla drivers 😎:

Navegador OS Soportado Mantenido Por Descarga
Chromium/Chrome Windows/Mac/Linux Google Descarga
Firefox Windows/Mac/Linux Mozilla Descarga
Edge Windows/Mac Microsoft Descarga
IE Windows Selenium Project Descarga
Safari macOS High Sierra and newer Apple Built-in

Para Chromium/Chrome, Firefox y Edge debes descargar los drivers de acuerdo a la versión del navegador que tengas instalada.

Pues hasta aquí la primera parte, en el próximo artículo, configuraremos nuestro primer guión de pruebas.

Espero te sirva!!!


  1. Obtenido del Syllabus de la certificación de Selenium Tester Foundation ↩︎