テストの実行とデバッグ
はじめに
単一のテスト、テストのセット、またはすべてのテストを実行できます。テストは異なるブラウザで実行できます。デフォルトでは、テストはヘッドレスモードで実行されます。これは、テスト実行中にブラウザウィンドウが開かれず、結果がターミナルに表示されることを意味します。必要であれば、headless
テスト実行パラメータを使用して、テストをヘッド付きモードで実行できます。
学習内容
テストの実行
すべてのテストを実行
以下のコマンドを使用して、すべてのテストを実行します。
dotnet test
ヘッド付きモードでテストを実行
以下のコマンドを使用して、各テストのブラウザウィンドウを開き、ヘッド付きモードでテストを実行します。
- Bash
- PowerShell
- Batch
HEADED=1 dotnet test
$env:HEADED="1"
dotnet test
set HEADED=1
dotnet test
異なるブラウザでテストを実行: ブラウザ環境変数
BROWSER
環境変数を使用して、テストを実行したいブラウザを指定します。
- Bash
- PowerShell
- Batch
BROWSER=webkit dotnet test
$env:BROWSER="webkit"
dotnet test
set BROWSER=webkit
dotnet test
異なるブラウザでテストを実行: 起動設定
起動設定オプションを調整して、テストを実行したいブラウザを指定します。
dotnet test -- Playwright.BrowserName=webkit
複数のブラウザまたは構成でテストを実行するには、dotnet test
コマンドを複数回呼び出す必要があります。そこで、BROWSER
環境変数を指定するか、runsettingsファイルを介してPlaywright.BrowserName
を設定できます。
dotnet test --settings:chromium.runsettings
dotnet test --settings:firefox.runsettings
dotnet test --settings:webkit.runsettings
<?xml version="1.0" encoding="utf-8"?>
<RunSettings>
<Playwright>
<BrowserName>chromium</BrowserName>
</Playwright>
</RunSettings>
詳細については、Microsoftドキュメントの選択的な単体テストを参照してください。
特定のテストを実行
単一のテストファイルを実行するには、フィルターフラグの後に実行したいテストのクラス名を指定します。
dotnet test --filter "ExampleTest"
テストファイルのセットを実行するには、フィルターフラグの後に実行したいテストのクラス名を指定します。
dotnet test --filter "ExampleTest1|ExampleTest2"
特定のタイトルを持つテストを実行するには、フィルターフラグの後にName~とテストのタイトルを指定します。
dotnet test --filter "Name~GetStartedLink"
複数のワーカーでテストを実行:
- MSTest
- NUnit
- xUnit
dotnet test -- NUnit.NumberOfTestWorkers=5
dotnet test -- MSTest.Parallelize.Workers=5
dotnet test -- xUnit.MaxParallelThreads=5
xUnitで並行してテストを実行する方法の詳細については、こちらを参照してください。
デフォルトでconservative
並列化アルゴリズムを使用するxUnit 2.8+を推奨します。
テストのデバッグ
Playwrightは.NETで実行されるため、Visual Studio CodeやVisual Studioなど、お好みのデバッガーでデバッグできます。PlaywrightにはPlaywright Inspectorが付属しており、Playwright API呼び出しをステップ実行したり、デバッグログを確認したり、ロケーターを探索したりできます。
- Bash
- PowerShell
- Batch
PWDEBUG=1 dotnet test
$env:PWDEBUG=1
dotnet test
set PWDEBUG=1
dotnet test
デバッグガイドで、Playwright Inspectorとブラウザ開発者ツールを使ったデバッグについて詳しく学べます。