Hoy os voy a enseñar cómo podemos ejecutar test Selenium en un contenedor Docker.

Primero vamos a crear un contenedor Docker Compose con Selenium (utilizo esta imagen https://github.com/nixel2007/docker-selenium-side-runner)
version: '3'
services:
chromedriver:
image: robcherry/docker-chromedriver
privileged: true
restart: always
environment:
- CHROMEDRIVER_WHITELISTED_IPS=''
# ports:
# - '4444:4444'
selenium-side-runner:
image: nixel2007/docker-selenium-side-runner
# build:
# context: .
volumes:
- './web/test:/sides'
- './config/selenium/out:/root/out'
Se crean dos carpetas, una para los .sides (sacados de selenium IDE) para ejecutarlos:
Carpeta ./web/test/
Y otra para la configuración out que saca Selenium:
Carpeta ./config/selenium/out
Ejecutamos la prueba:
docker compose up
Y podemos ver el resultado de los test.
Recuerda que para ejecutar los tests sobre el entorno, tendremos que levantar un Docker con nginx o apache2 y lanzar la web desde él. Otra opción es utilizar una URL remota para ejecutar los tests.
Si usamos otro contenedor Docker Compose, debemos añadir los dos contenedores a la misma Red de Docker y sustituir la URL base de los tests de Selenium por el nombre del contenedor tipo:
http://nginx/

Ingeniero en Informática, Investigador, me encanta crear cosas o arreglarlas y darles una nueva vida. Escritor y poeta. Más de 20 APPs publicadas y un libro en Amazon.