Playwright連載の2本目です。
概要
VSCode Dev Containerを利用してPlaywrightの実行環境をコンテナ上に構築する手順を説明します。
Requirements
- Docker
- VSCode with Dev Containers Extension
X Window System
Playwrightをデバッグ起動したりUIモードで起動したりする場合、コンテナ上で起動するGUIをホストOS上に表示する必要があるため、X Window Systemを利用します。(Playwrightをコマンドラインのみで利用する場合、本手順は不要です。)
なお、何も設定をせずにコンテナ上でGUIを起動しようとするとMissing X server or $DISPLAY
のようなエラーが発生します。
今回はホストOSとしてMacを利用しているため Xquartz の導入手順を紹介します。
Windowsの方はXmingなどを利用してください。
Xquartzをインストールし、コンテナからのアクセスを許可するため「ネットワーク・クライアントからの接続を許可」します。
下記はコマンドラインから実行していますがGUI上から実施していただいても構いません。
# Install Xquartz |
設定後はXquartzを再起動して設定を反映させます。
その後ローカルホストからのアクセスを許可した状態(xhost +localhost
or xhost +
)で Xquartzをさせておけば準備は完了です。
コンテナ構成
devcontainer.json
を抜粋します。
// For format details, see https://aka.ms/devcontainer.json. For config options, see the |
Container Image
Playwright公式のDocker Imageを利用するのが良いでしょう。
Dockerfileを見ると playwright-core install --with-deps
でブラウザ含め必要な依存関係をインストールしてくれています。
利用可能なタグはこちらから確認できます。
VSCode Extension
最低限 Playwright Test for VSCodeは導入しておくと良いでしょう。
X Window System
/tmp/.X11-unix
をホスト側とコンテナ側で共有することにより、ドメインソケットを共有します。
"mounts": [ |
ホストOSのディスプレイを利用するため DISPLAY
環境変数を指定します。
"containerEnv": { |
GUI起動確認
コンテナ上でGUIを起動すると、ホストOS側で表示されることが確認できました。
npx playwright test --ui |

次は木戸さんのイチ押し。Playwrightの快適機能です。