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

Docker

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

FROM ianwalter/puppeteer:latest
WORKDIR /app
ADD . /app

RUN npm install

CMD npx wdio

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

node_modules
情報

ここでは、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'
],
}
}],
// ...
}

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

Docker コンテナをビルドするには、次を実行できます。

docker build -t mytest -f Dockerfile .

次に、テストを実行するには、次を実行します。

docker run -it mytest

Docker イメージの構成方法の詳細については、Docker ドキュメントをご確認ください。

ようこそ!何かお手伝いできることはありますか?

WebdriverIO AI Copilot