Перейти до основного вмісту

Docker

Docker - це потужна технологія контейнеризації, яка дозволяє інкапсулювати ваш тестовий набір у контейнер, що поводиться однаково на будь-якій системі. Це може допомогти уникнути нестабільності через різні версії браузерів або платформ. Щоб запустити тести в контейнері, створіть файл Dockerfile у вашому проектному каталозі, наприклад:

FROM selenium/standalone-chrome:134.0-20250323 # Змініть браузер і версію відповідно до ваших потреб
WORKDIR /app
ADD . /app

RUN npm install

CMD npx wdio

Переконайтеся, що ви не включаєте свою папку node_modules у Docker-образ, і встановіть ці залежності під час побудови образу. Для цього додайте файл .dockerignore з наступним вмістом:

node_modules
інформація

Ми використовуємо тут Docker-образ, який поставляється з попередньо встановленими Selenium і Google Chrome. Доступні різні образи з різними налаштуваннями браузерів та версіями. Перегляньте образи, що підтримуються проєктом Selenium на Docker Hub.

Оскільки ми можемо запускати Google Chrome лише в режимі headless у нашому Docker-контейнері, нам потрібно змінити наш wdio.conf.js, щоб забезпечити це:

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'
],
}
}],
// ...
}

Як згадувалося в Протоколах автоматизації, ви можете запускати WebdriverIO за допомогою протоколу WebDriver або протоколу WebDriver BiDi. Переконайтеся, що версія Chrome, встановлена у вашому образі, відповідає версії Chromedriver, визначеній у вашому package.json.

Щоб побудувати Docker-контейнер, ви можете виконати:

docker build -t mytest -f Dockerfile .

Потім для запуску тестів виконайте:

docker run -it mytest

Щоб отримати більше інформації про налаштування Docker-образу, перегляньте документацію Docker.

Welcome! How can I help?

WebdriverIO AI Copilot