QAエンジニア|WindowsでPlaywrightをインストール → Chromeを動かす手順

QAエンジニア学習記録

テスト自動化ツール「Playwright」を使ってみたいけど
最初のセットアップでつまずいていませんか?

この記事を読むと、こんなことができます。

  • Pythonの仮想環境づくり
  • Playwrightのインストール
  • Google Chromeの起動

まずはシンプルに「動いた!」という体験を作ることをゴールにしているので
最小限のコードと実行例で解説しています。
安心してチャレンジしてみてください。

そもそもPlaywrightってなに?

Playwright(プレイライト)とはMicrosoftが開発したWebアプリのE2Eテストを自動化するフレームワークです。

0. 前提条件

  • Windows 10 または 11
  • Google Chrome インストール済み
  • Pythonインストール済み

1. 作業用フォルダを作成

エクスプローラーで任意の場所に作業フォルダを作成します。
例:

C:\qa\playwright-demo

以降の操作はこのフォルダを使います。


2. Python仮想環境を作成

PowerShellまたはWindowsターミナルを開き、次を順に実行します。

cd C:\qa\playwright-demo
python -m venv .venv
.\.venv\Scripts\Activate.ps1

Activate.ps1 実行後、プロンプト先頭に (venv) が付けばOK。
続けて python -V でバージョン確認。

python -V

1) python -m venv .venv は何をしてる?

  • 標準モジュール venv を実行して、カレントフォルダ配下に .venv という仮想環境を作成します。
  • 中身はだいたいこんな構成:
    • .venv\Scripts\python.exe(この環境専用のPython本体)
    • .venv\Scripts\pip.exe(この環境専用のpip)
    • .venv\Lib\site-packages\(この環境に入れたライブラリが入る場所)
    • pyvenv.cfg(設定ファイル)
  • ポイント
    • 管理者権限は不要。PC全体のPythonは一切変更されません
    • プロジェクトごとにライブラリを分けられるので、依存関係が混ざらない(Playwrightのバージョン違い衝突を防げる)。

2) .\.venv\Scripts\Activate.ps1 は何をしてる?

  • PowerShell用のアクティベーションスクリプトを実行して、以下を一時的に切り替えます:
    • PATH を書き換えて、python/pip が .venv\Scripts\ のものを指すようにする
    • プロンプト に (.venv) が付き、いま仮想環境内だと分かる
    • 環境変数 VIRTUAL_ENV が設定される
  • 効果はそのPowerShellウィンドウの中だけ。閉じれば元に戻ります。

3. Playwrightをインストール

仮想環境のまま以下を実行します。

pip install --upgrade pip
pip install playwright
python -m playwright install

最後のコマンドでPlaywright専用のブラウザ(Chromiumなど)がセットアップされます。
今回はChromeを使いますが、念のためChromium一式も入れておくと便利です。


4. Chromeで動かすサンプルコードを作成

C:\qa\playwright-demo\main.py を作成して以下を保存します。

from playwright.sync_api import sync_playwright, expect
import re

def run():
    with sync_playwright() as p:
        # ★Chromeを使うポイント:channel="chrome"
        browser = p.chromium.launch(channel="chrome", headless=False, slow_mo=300)
        context = browser.new_context(viewport={"width": 1280, "height": 800})
        page = context.new_page()

        # 1) ページを開く
        page.goto("https://example.org/")
        expect(page).to_have_title("Example Domain")

        # 2) リンクをクリック → 遷移確認
        page.get_by_role("link", name="More information.").click()
        expect(page).to_have_url(re.compile(r"iana\.org"))

        # 3) 戻る
        page.go_back()
        expect(page).to_have_title("Example Domain")

        context.close()
        browser.close()

if __name__ == "__main__":
    run()

ポイント:

  • headless=False → 実際のブラウザ画面を表示
  • slow_mo=300 → 0.3秒スローで動作確認がしやすい
  • expect(...) → 結果を確認するアサーション(テストの基準)

ちなみにここまでのフォルダとファイル構成は最小で下記のようになります。

C:\qa\playwright-demo
├─ .venv/         # 仮想環境
└─ main.py        # サンプルスクリプト

「Chromium」と「Chrome」の違い

  • Chromium:Playwrightが同梱するオープンソース版ブラウザ(再現性が高い)
  • Chrome:普段使っているGoogle Chrome。channel="chrome" を指定すると利用できます。

5. 実行

実行コマンド:

python .\main.py

Chromeのウィンドウが立ち上がり、リンククリックと戻る動作まで確認できれば成功です。


6. VS Codeで「インポートできない」と出る場合のトラブルシューティング

VS CodeでPythonファイルを開くと、次のようなエラーが出ることがあります。

インポート "playwright.sync_api" を解決できませんでした

これは 仮想環境とVS Codeのインタープリター設定が一致していない ことが原因です。

VS Codeの右下に表示されているPythonバージョンをクリックし、
「インタープリターの選択」から .venv\Scripts\python.exe を指定してください。

もし一覧に出ない場合は、「インタープリター パスを入力…」から直接 .venv\Scripts\python.exe を指定すればOKです。

これで「インポートできませんでした」というエラーは解消されます。

仮想環境とは?

仮想環境(venv)は、プロジェクト専用のPythonとライブラリを閉じ込めた「お弁当箱」のようなものです。
これを使うことで、他のプロジェクトとライブラリが混ざらず、バージョン衝突を防げます。

こちらにまとめましたので参考にしてみてください。


まとめ

Python+PlaywrightはWindowsでも簡単に始められます。
まずは channel="chrome" を指定して、普段使っているChromeで「動いた体験」を作るのがおすすめです。
慣れてきたらpytestやCIに発展させて、より実用的な自動テストに育てていきましょう。

タイトルとURLをコピーしました