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

テストの実行とデバッグ

はじめに

単一のテスト、一連のテスト、またはすべてのテストを実行できます。テストは、--browser フラグを使用して、単一のブラウザまたは複数のブラウザで実行できます。デフォルトでは、テストはヘッドレスモードで実行されます。つまり、テストの実行中にブラウザウィンドウは開かれず、結果はターミナルに表示されます。必要に応じて、--headed CLI 引数を使用して、テストをヘッドモードで実行できます。

学習内容

テストの実行

コマンドライン

テストを実行するには、pytest コマンドを使用します。これにより、デフォルトで Chromium ブラウザでテストが実行されます。テストはデフォルトでヘッドレスモードで実行されるため、テストの実行中にブラウザウィンドウは開かれず、結果はターミナルに表示されます。

pytest

テストをヘッドモードで実行する

テストをヘッドモードで実行するには、--headed フラグを使用します。これにより、テストの実行中にブラウザウィンドウが開き、完了するとブラウザウィンドウは閉じられます。

pytest --headed

異なるブラウザでテストを実行する

テストを実行したいブラウザを指定するには、--browser フラグの後にブラウザの名前を続けます。

pytest --browser webkit

テストを実行する複数のブラウザを指定するには、--browser フラグを複数回使用し、それぞれのブラウザの名前を続けます。

pytest --browser webkit --browser firefox

特定のテストを実行する

単一のテストファイルを実行するには、実行したいテストファイルの名前を渡します。

pytest test_login.py

一連のテストファイルを実行するには、実行したいテストファイルの名前を渡します。

pytest tests/test_todo_page.py tests/test_landing_page.py

特定のテストを実行するには、実行したいテストの関数名を渡します。

pytest -k test_add_a_todo_item

テストを並行して実行する

テストを並行して実行するには、--numprocesses フラグの後にテストを実行したいプロセスの数を続けます。論理 CPU コアの半分を推奨します。

pytest --numprocesses 2

(これは pytest-xdist がインストールされていることを前提としています。詳細についてはこちらを参照してください。)

詳細については、Playwright Pytest の使用法または 一般的な CLI の使用法に関する Pytest ドキュメントを参照してください。

テストのデバッグ

Playwright は Python で実行されるため、Visual Studio Code の Python 拡張機能など、お好みのデバッガでデバッグできます。Playwright には Playwright Inspector が付属しており、Playwright API 呼び出しをステップ実行し、デバッグログを確認し、ロケーターを探索できます。

すべてのテストをデバッグするには、次のコマンドを実行します。

PWDEBUG=1 pytest -s

1 つのテストファイルをデバッグするには、デバッグしたいテストファイルの名前を付けてコマンドを実行します。

PWDEBUG=1 pytest -s test_example.py

特定のテストをデバッグするには、デバッグしたいテストの名前に続けて -k を追加します。

PWDEBUG=1 pytest -s -k test_get_started_link

このコマンドは、ブラウザウィンドウと Playwright Inspector を開きます。インスペクターの上部にあるステップオーバーボタンを使用して、テストをステップ実行できます。または、再生ボタンを押して、テストを最初から最後まで実行します。テストが終了すると、ブラウザウィンドウは閉じられます。

デバッグ中は、ロケーターピッカーボタンを使用してページ上の要素を選択し、Playwright がその要素を見つけるために使用するロケーターを確認できます。ロケーターを編集して、ブラウザウィンドウでリアルタイムにハイライト表示されるのを見ることもできます。ロケーターをコピーボタンを使用してロケーターをクリップボードにコピーし、テストに貼り付けます。

Playwright Inspector

Playwright Inspector および ブラウザ開発ツールを使用したデバッグの詳細については、デバッグガイドをご覧ください。

次は何をしますか