メインコンテンツにスキップ

Docker

Dockerは強力なコンテナ技術で、テストスイートをどのシステムでも同じように動作するコンテナにカプセル化することができます。これにより、異なるブラウザやプラットフォームのバージョンによる不安定さを避けることができます。コンテナ内でテストを実行するには、プロジェクトディレクトリにDockerfileを作成します:

FROM selenium/standalone-chrome:134.0-20250323 # 必要に応じてブラウザとバージョンを変更してください
WORKDIR /app
ADD . /app

RUN npm install

CMD npx wdio

Dockerイメージにnode_modulesを含めないようにし、イメージのビルド時にインストールするようにしてください。そのために、以下の内容の.dockerignoreファイルを追加します:

node_modules
情報

ここではSeleniumとGoogle ChromeがプリインストールされたDockerイメージを使用しています。様々なブラウザセットアップとブラウザバージョンを持つ複数のイメージが利用可能です。Seleniumプロジェクトが管理しているDocker Hubのイメージをチェックしてください。

Dockerコンテナ内ではGoogle Chromeをヘッドレスモードでのみ実行できるため、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'
],
}
}],
// ...
}

Automation Protocolsで言及されているように、WebdriverIOはWebDriverプロトコルまたはWebDriver BiDiプロトコルを使用して実行できます。イメージにインストールされているChromeのバージョンが、package.jsonで定義しているChromedriverのバージョンと一致することを確認してください。

Dockerコンテナをビルドするには、次のコマンドを実行します:

docker build -t mytest -f Dockerfile .

そして、テストを実行するには、次のコマンドを実行します:

docker run -it mytest

Dockerイメージの設定方法の詳細については、Docker docsを参照してください。

Welcome! How can I help?

WebdriverIO AI Copilot