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

テストの実行とデバッグ

はじめに

単一のテスト、一連のテスト、またはすべてのテストを実行できます。テストは、--browser フラグを使用することで、1つのブラウザまたは複数のブラウザで実行できます。デフォルトでは、テストはヘッドレスモードで実行されます。これは、テストの実行中にブラウザウィンドウが開かず、結果がターミナルに表示されることを意味します。必要に応じて、--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 の使用方法、またはPytest のドキュメントで一般的なCLIの使用方法を参照してください。

テストのデバッグ

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およびブラウザ開発者ツールを使用したデバッグの詳細については、デバッグガイドをご覧ください。

次にすること