Share via


Microsoft Playwright Testing (プレビュー) を使用して、ローカルにデプロイされたアプリに対してクラウドでホストされているブラウザーを使用する

Microsoft Playwright Testing (プレビュー) を使用して、ローカルにデプロイされたアプリケーションのエンド ツー エンド テストを実行する方法について説明します。 Microsoft Playwright Testing では、Playwright テストを大規模に実行するために、クラウドでホストされたリモート ブラウザーを使用します。 このサービスを使用して、localhost またはインフラストラクチャでホストするアプリのテストを実行できます。

Playwright を使用すると、クライアント コンピューターで使用可能なネットワークをリモート ブラウザーに公開できます。 ネットワークを公開するとき、追加のファイアウォール設定を構成しなくても、Playwright テスト コードからローカル リソースに接続できます。

重要

Microsoft Playwright Testing は現在、プレビュー段階です。 ベータ版、プレビュー版、または一般提供としてまだリリースされていない Azure の機能に適用される法律条項については、「Microsoft Azure プレビューの追加使用条件」を参照してください。

ローカル ネットワークを公開するように Playwright を構成する

ローカルのネットワークとリソースをリモート ブラウザーに公開するには、Playwright の exposeNetwork オプションを使用します。 exposeNetwork オプションの詳細は、Playwright のドキュメントで確認してください。

規則の一覧を使用して、1 つまたは複数のネットワークを指定できます。 たとえば、テスト/ステージング デプロイおよび localhost を公開するには、*.test.internal-domain,*.staging.internal-domain,<loopback> のように指定します。

playwright.service.config.tsexposeNetworkオプションを構成できます。 次の例は、<loopback> 規則を使用して localhost ネットワークを公開する方法を示しています。

export default defineConfig(config, {
    workers: 20,
    use: {
        // Specify the service endpoint.
        connectOptions: {
            wsEndpoint: `${process.env.PLAYWRIGHT_SERVICE_URL}?cap=${JSON.stringify({
                // Can be 'linux' or 'windows'.
                os: process.env.PLAYWRIGHT_SERVICE_OS || 'linux',
                runId: process.env.PLAYWRIGHT_SERVICE_RUN_ID
            })}`,
            timeout: 30000,
            headers: {
                'x-mpt-access-key': process.env.PLAYWRIGHT_SERVICE_ACCESS_TOKEN!
            },
            // Allow service to access the localhost.
            exposeNetwork: '<loopback>'
        }
    }
});

これで、Playwright テスト コードで localhost を参照し、Microsoft Playwright Testing を使用してクラウドでホストされているブラウザーでテストを実行できるようになりました。

npx playwright test --config=playwright.service.config.ts --workers=20