Ir al Contenido Principal

Docker

Docker es una potente tecnología de containerización que permite encapsular su suite de pruebas en un contenedor que se comporta lo mismo en cada sistema. Esto puede evitar errores debido a diferentes versiones de navegador o plataforma. Para ejecutar tus pruebas dentro de un contenedor, crea un Dockerfile en el directorio de tu proyecto, por ejemplo.:

FROM selenium/standalone-chrome:134.0-20250323 # Change the browser and version according to your needs
WORKDIR /app
ADD . /app

RUN npm install

CMD npx wdio

Asegúrate de no incluir tu node_modules en tu imagen de Docker y tener estos instalados al construir la imagen. Para eso añada un archivo .dockerignore con el siguiente contenido:

node_modules
info

We are using a Docker image here that comes with Selenium and Google Chrome pre-installed. There are various of images available with different browser setups and browser versions. Echa un vistazo a las imágenes mantenidas por el proyecto Selenium en Docker Hub.

Como sólo podemos ejecutar Google Chrome en modo sin cabeceras en nuestro contenedor Docker, tenemos que modificar nuestro wdio. onf.js para asegurar que hagamos eso:

wdio.conf.js
export const config = {
// ...
capabilities: [{
maxInstances: 1,
browserName: 'chrome',
'goog:chromeOptions': {
args: [
'--no-sandbox',
'--disable-infobars',
'--headless',
'--disable-gpu',
'--window-size=1440,735'
],
}
}],
// ...
}

As mentioned in Automation Protocols you can run WebdriverIO using the WebDriver protocol or WebDriver BiDi protocol. Make sure that the Chrome version installed on your image matches the Chromedriver version you have defined in your package.json.

Para construir el contenedor Docker se puede ejecutar:

docker build -t mytest -f Dockerfile .

Luego para ejecutar las pruebas, ejecuta:

docker run -it mytest

Para obtener más información sobre cómo configurar la imagen de Docker, consulte la documentación de Docker.

Welcome! How can I help?

WebdriverIO AI Copilot