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.