このクイック スタートでは、Playwright Workspaces を使用して、高度にに並列なクラウド ブラウザーで Playwright テストを実行する方法について説明します。 クラウド インフラストラクチャを使用して、複数のブラウザー、デバイス、オペレーティング システムにわたってアプリケーションを検証します。
このクイック スタートを完了すると、Playwright テストを大規模に実行するための Playwright Workspaces が作成されます。
[前提条件]
- アクティブなサブスクリプションを持つ Azure アカウント。 Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。
- Azure アカウントには、所有者、共同作成者、または従来の管理者の役割のいずれかが必要です。
- Playwright プロジェクト。 プロジェクトがない場合は、Playwright 入門ドキュメントを使用してプロジェクトを作成するか、Playwright Workspaces サンプル プロジェクトを使用します。
- Azure CLI。 Azure CLI がインストールされていない場合は、「Azure CLI のインストール」を参照してください。
ワークスペースの作成
クラウド ブラウザーで Playwright テストの実行を開始するには、まず Playwright Workspaces を作成する必要があります。
Azure portal にサインインします。
ポータルの左上隅にあるメニュー ボタンを選択して、[ リソースの作成] を選択します。
検索ボックスに「Playwright Workspaces」と入力します。
[Playwright Workspaces] カードを選択し、[作成] を選択します。
新しい Playwright Workspaces を構成するには、次の情報を指定します:
フィールド 説明 サブスクリプション この Playwright Workspaces に使用する Azure サブスクリプションを選択します。 リソース グループ 既存のリソース グループを選択します。 または、[新規作成] を選択し、新しいリソース グループの一意の名前を入力します。 名前 ワークスペースを識別する一意の名前を入力します。
名前には英数字とハイフンのみを使用できます。3 から 24 文字の間で指定する必要があります。場所 ワークスペースをホストする地理的な場所を選択します。
この場所は、テスト実行結果が格納される場所も決定します。注
必要に応じて、[タグ] タブでさらに詳細を構成できます。タグは名前と値のペアであり、同じタグを複数のリソースやリソース グループに適用することで、リソースを分類したり、統合された課金を表示したりできるようにします。
リソースの構成が完了したら、[確認および作成] を選択します。
すべての構成設定を確認し、[作成] を選択して Playwright Workspaces のデプロイを開始します。
プロセスが完了すると、デプロイ成功メッセージが表示されます。
新しいワークスペースを表示するには、[Go to resource]\(リソースに移動\) を選択します。
Playwright Workspaces パッケージをインストールする
サービスを使用するには、Playwright Workspaces パッケージをインストールします。
npm init @azure/playwright@latest
これにより、Playwright Workspaces に対する Playwrite から Playwrite Workspaces にダイレクトをし認証を行う playwright.service.config.ts ファイルが生成されます。
このファイルが既に存在する場合、パッケージによって上書きが求められます。
サービスを使用するには、Playwright Workspaces パッケージをインストールします。
dotnet add package Azure.Developer.Playwright.NUnit
ブラウザー エンドポイントを構成する
セットアップでは、リージョン固有のブラウザー エンドポイントを指定する必要があります。 エンドポイントは、ワークスペースの作成時に選択した Azure リージョンによって異なります。
ブラウザー エンドポイント URL を取得するには、次の手順に従います。
Azure アカウントで Azure portal にサインインし、ワークスペースに移動します。
[作業の開始] ページを選択します。
[ブラウザー エンドポイントをセットアップに追加する] で、エンドポイント URL をコピーします。
この URL が
PLAYWRIGHT_SERVICE_URL環境変数で利用可能であることを確認してください。
環境を設定する
環境を設定するには、前の手順で取得した値を使用して PLAYWRIGHT_SERVICE_URL 環境変数を構成する必要があります。
dotenv モジュールを使用して環境を管理することをお勧めします。
dotenv を使用して、.env ファイルで環境変数を定義します。
dotenvモジュールをプロジェクトに追加します。npm i --save-dev dotenvplaywright.service.config.ts に次のコード スニペットを追加します。
require('dotenv').config();Playwright プロジェクト内の
.envファイルと共にplaywright.config.tsファイルを作成します。PLAYWRIGHT_SERVICE_URL={MY-REGION-ENDPOINT}{MY-REGION-ENDPOINT}テキスト プレースホルダーを、先程コピーした値に置き換えてください。
サービス構成を設定する
次の内容を含むファイル PlaywrightServiceSetup.cs をプロジェクトに作成します。
using Azure.Developer.Playwright.NUnit;
using Azure.Identity;
namespace PlaywrightTests; // Remember to change this as per your project namespace
[SetUpFixture]
public class PlaywrightServiceNUnitSetup : PlaywrightServiceBrowserNUnit
{
public PlaywrightServiceNUnitSetup() : base(
credential: new DefaultAzureCredential()
)
{}
}
注
プロジェクトで Microsoft.Playwright.NUnit バージョン 1.50 以降を使用していることを確認してください。
認証を設定する
Playwright Workspaces で Playwright テストを実行するには、サービスでテストを実行している Playwright クライアントを認証する必要があります。 これはローカル開発マシンまたは CI マシンである可能性があります。
このサービスには、2 つの認証方法 (Microsoft Entra ID とアクセス トークン) が用意されています。
Microsoft Entra ID では Azure 資格情報が使用され、アクセスをセキュリティで保護するために Azure アカウントへのサインインが必要になります。 あるいは、Playwright ワークスペースからアクセス トークンを生成し、セットアップで使用することもできます。
Microsoft Entra ID を使用して認証を設定する
Microsoft Entra ID は、このサービスの既定かつ推奨される認証です。 ローカル開発マシンから、Azure CLI を使用してサインインできます
az login
注
複数の Microsoft Entra テナントに所属している場合は、ワークスペースが属するテナントにサインインしていることを確認してください。 テナント ID は Azure portal から取得できます。 「Microsoft Entra テナント を見つける」を参照してください。 ID を取得したら、コマンド az login --tenant <TenantID> を使用してサインインします
アクセス トークンを使用して認証を設定する
Playwright Workspaces からアクセス トークンを生成し、セットアップで使用できます。 ただし、強化されたセキュリティのため、認証には Microsoft Entra ID を使用することを強くお勧めします。 アクセス トークンは便利ですが、有効期間が長いパスワードのように機能し、侵害されやすくなります。
アクセス トークンを使用した認証は、既定では無効になっています。 使うには、アクセス トークン ベースの認証を有効にします。
注意事項
サービスへの認証には Microsoft Entra ID を使用することを強くお勧めします。 アクセス トークンを使用する場合は、「アクセストークンの管理方法」を参照してください。
Playwright Workspaces を使用して大規模なテストを実行する
これで、Playwright Workspaces を使用してクラウドで Playwright テストを実行するための構成が準備できました。 Playwright CLI を使用してテストを実行するか、Playwright Test Visual Studio Code 拡張機能を使用できます。
サービスで 1 つのテストを実行する
Playwright Workspaces では、合計テスト分数に基づいて課金されます。 初めてのユーザーまたは無料試用版の使用を開始する場合は、無料試用版の制限を使い果たさないように、完全なテスト スイートではなく 1 つのテストの実行から始めることができます。
テストが正常に実行されたことを検証したら、サービスでさらに多くのテストを実行することで、テストの負荷を徐々に増やすことができます。
Playwright Workspaces で 1 つの Playwright テストを実行するには、次の手順を実行します:
Playwright CLI を使用して Playwright Workspaces でテストを実行するには、コマンド ライン パラメーターとしてサービス構成ファイルを渡します。
ターミナル ウィンドウを開きます。
次のコマンドを入力して、ワークスペース内のリモート ブラウザーで Playwright テストを実行します。
{name-of-file.spec.ts}テキスト プレースホルダーをテスト仕様ファイルの名前に置き換えます。npx playwright test {name-of-file.spec.ts} --config=playwright.service.config.tsテストが完了したら、ターミナルでテストの状態を表示できます。
Running 1 test using 1 worker 1 passed (2.2s) To open last HTML report run: npx playwright show-report
これで、サービスで複数のテストを実行したり、リモート ブラウザーでテスト スイート全体を実行したりできるようになりました。
注意事項
テスト スイートのサイズによっては、割り当てられた無料テスト時間 (分) と無料テスト結果を超えたテスト時間 (分) とテスト結果に対して追加料金が発生する場合があります。
サービスで完全なテスト スイートを実行する
これで、Playwright Workspaces で 1 つのテストを実行できることを検証したので、Playwright の完全なテスト スイートを大規模に実行できます。
Playwright Workspaces を使用して完全な Playwright テスト スイートを実行するには、次の手順を実行します。
Playwright Workspaces を使用して複数の Playwright テストまたは完全なテスト スイートを実行する場合は、必要に応じて、コマンドライン パラメーターとして並列ワーカーの数を指定できます。
ターミナル ウィンドウを開きます。
次のコマンドを入力して、ワークスペース内のリモート ブラウザーで Playwright テスト スイートを実行します。
npx playwright test --config=playwright.service.config.ts --workers=20このコマンドを実行すると、テスト スイートのサイズに応じて、最大 20 個の並列ワーカーでテストが実行されます。
テストが完了したら、ターミナルでテストの状態を表示できます。
Running 6 tests using 6 workers 6 passed (18.2s)
上記で作成した構成を使用して、サービスによって管理されているブラウザーに対して Playwright テストを実行します。
dotnet test -- NUnit.NumberOfTestWorkers=20
テストの実行が完了すると、ターミナルでテストの状態を確認できます。
Starting test execution, please wait...
A total of 100 test files matched the specified pattern.
Passed! - Failed: 0, Passed: 100, Skipped: 0, Total: 100, Duration: 59 s - PlaywrightTestsNUnit.dll (net7.0)
Workload updates are available. Run `dotnet workload list` for more information.
並列ワーカー構成を最適化する
サービスでテストがスムーズに実行されたら、並列ワーカーの数を変えて実験し、テスト完了までの時間を最小限に抑えられる最適な構成を判断します。
Playwright Workspaces では、最大 50 個の並列ワーカーで実行できます。 プロジェクトの最適な構成は、クライアント コンピューターの CPU、メモリ、ネットワーク リソース、ターゲット アプリケーションの負荷処理容量、テストで実行されるアクションの種類など、複数の要因の影響を受けます。
Playwright CLI コマンド ラインで並列 worker の数を指定するか、Playwright サービス構成ファイルで workers プロパティを構成できます。
Playwright CLI コマンド ラインで並列ワーカーの数を指定することも、NumberOfTestWorkers ファイルで .runsettings プロパティを構成することもできます。
詳細については、テスト スイートの完了を最適化する最適な構成を判断する方法に関するページを参照してください。
次のステップ
これで、Azure portal で Playwright Workspaces が正常に作成され、クラウド ブラウザーで Playwright テストが実行されました。
次のクイックスタートでは、CI/CD ワークフローで Playwright テストを実行して、エンドツーエンドの継続的なテストを設定します。