次の方法で共有


Microsoft Playwright Testing プレビューのサービス パッケージで使用可能なオプションを使用する

この記事では、自動的に生成された playwright.service.config.ts ファイルに利用できるオプションの使用方法について説明します。 コードにこのファイルが含まれていない場合は、「クイックスタート: Microsoft Playwright Testing (プレビュー) を使用して、大規模なエンド ツー エンドテストを実行する」を参照してください

この記事では、.runsettings ファイルで使用できるオプションを使用する方法について説明します。 コードにこのファイルが含まれていない場合は、「クイックスタート: Microsoft Playwright Testing (プレビュー) を使用して、大規模なエンド ツー エンドテストを実行する」を参照してください

重要

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

前提条件

利用できるすべてのオプションを含む playwright.service.config.ts ファイルのバージョンは次のとおりです。

import { getServiceConfig, ServiceOS } from "@azure/microsoft-playwright-testing";
import { defineConfig } from "@playwright/test";
import { AzureCliCredential } from "@azure/identity";
import config from "./playwright.config";

export default defineConfig(
  config,
  getServiceConfig(config, {
    serviceAuthType:'ACCESS_TOKEN' // Use this option when you want to authenticate using access tokens. This mode of auth should be enabled for the workspace.
    os: ServiceOS.WINDOWS, // Select the operating system where you want to run tests.
    runId: new Date().toISOString(), // Set a unique ID for every test run to distinguish them in the service portal.
    credential: new AzureCliCredential(), // Select the authentication method you want to use with Entra.
    useCloudHostedBrowsers: true, // Select if you want to use cloud-hosted browsers to run your Playwright tests.
    exposeNetwork: '<loopback>', // Use this option to connect to local resources from your Playwright test code without having to configure additional firewall settings.
    timeout: 30000 // Set the timeout for your tests.
  }),
  {
    reporter: [
      ["list"],
      [
        "@azure/microsoft-playwright-testing/reporter",
        {
          enableGitHubSummary: true, // Enable/disable GitHub summary in GitHub Actions workflow.
        },
      ],
    ],
  },
);

playwright.service.config.ts ファイルの設定

  • serviceAuthType:

    • 説明: この設定では、テストの実行に使用する認証方法を選択できます。
    • 利用できるオプション:
      • アクセス トークンを使用するには ACCESS_TOKEN。 このオプションを使用する場合は、アクセス トークンを使用した認証を有効にする必要があります。認証の管理に関する記事を参照してください。
      • 認証に Microsoft Entra ID を使用するには ENTRA_ID。 これは既定のモードです。
    • 既定値: ENTRA_ID
    • 例:
      serviceAuthType:'ENTRA_ID'
      
  • os:

    • 説明: この設定では、Playwright テストを実行するブラウザーがホストされているオペレーティング システムを選択できます。
    • 利用できるオプション:
      • Windows OS の場合は ServiceOS.WINDOWS
      • Linux OS の場合は ServiceOS.LINUX
    • 既定値: ServiceOS.LINUX
    • 例:
      os: ServiceOS.WINDOWS
      
  • runId:

    • 説明: この設定では、すべてのテスト実行に一意の ID を設定して、サービス ポータルで区別することができます。 複数のテスト実行に同じ runId を使用すると、エラーが発生します。 シャーディングの場合は、すべてのシャードで同じものを維持します。
    • 例:
      runId: new Date().toISOString()
      
  • credential:

    • 説明: この設定では、Microsoft Entra ID で使用する認証方法を選択できます。
    • 例:
      credential: new AzureCliCredential()
      
  • useCloudHostedBrowsers

    • 説明: この設定では、Playwright テストの実行に、クラウドでホストされているブラウザーを使用するか、クライアント コンピューター上のブラウザーを使用するかを選択できます。 このオプションを無効にすると、クラウドでホストされているブラウザーではなく、クライアント コンピューターのブラウザーでテストが実行され、料金は発生しません。
    • 既定値: true
    • 例:
      useCloudHostedBrowsers: true
      
  • exposeNetwork

    • 説明: この設定を使用すると、別のファイアウォール設定を構成することなく、Playwright テスト コードからローカル リソースに接続できます。 詳細については、ローカル アプリケーションをテストする方法に関する記事を参照してください
    • 例:
      exposeNetwork: '<loopback>'
      
  • timeout

    • 説明: この設定では、クラウドでホストされているブラウザーに接続するテストのタイムアウトを設定できます。
    • 例:
      timeout: 30000,
      
  • reporter

    • 説明: playwright.service.config.ts ファイルにより、セットアップの playwright 構成ファイルが拡張されます。 このオプションにより既存のレポーターがオーバーライドされ、Microsoft Playwright Testing レポーターが設定されます。 このリストを追加または変更して、使用するレポーターを含めることができます。 @azure/microsoft-playwright-testing/reporter を追加すると、Microsoft Playwright Testing レポートに対して課金されます。
    • 既定値: ["@azure/microsoft-playwright-testing/reporter"]
    • 例:
      reporter: [
      ["list"],
      ["@azure/microsoft-playwright-testing/reporter"],
      
  • enableGitHubSummary:

    • 説明: この設定では、Microsoft Playwright Testing サービス レポーターを構成できます。 GitHub Actions で実行するときに、テスト実行の要約を GitHub の要約に含めるかどうかを選択できます。
    • 既定値: true
    • 例:
      reporter: [
        ["list"],
        [
          "@azure/microsoft-playwright-testing/reporter",
          {
            enableGitHubSummary: true,
          },
        ],
      ]
    

利用できるすべてのオプションを含む .runsettings ファイルのバージョンは次のとおりです。

<?xml version="1.0" encoding="utf-8"?>
<RunSettings>
    <TestRunParameters>
        <!-- Use this option when you want to authenticate using access tokens. This mode of auth should be enabled for the workspace. -->
         <Parameter name="ServiceAuthType" value="EntraId" />
        <!-- Select the operating system where you want to run tests. -->
        <Parameter name="Os" value="linux" />
        <!-- Set a unique ID for every test run to distinguish them in the service portal.-->
        <Parameter name="RunId" value="sample-run-id1" />
        <!--Select if you want to use cloud-hosted browsers to run your Playwright tests.-->
        <Parameter name="UseCloudHostedBrowsers" value="true" />
        <!--Use this option to connect to local resources from your Playwright test code without having to configure additional firewall-->
        <Parameter name="ExposeNetwork" value="loopback" />
        <!--Select the authentication method you want to use with Entra-->
        <Parameter name="AzureTokenCredentialType" value="DefaultAzureCredential" />
        <!--Enable/disable GitHub summary in GitHub Actions workflow.-->
        <Parameter name="EnableGitHubSummary" value="false" />
    </TestRunParameters>
  <!-- NUnit adapter -->  
  <NUnit>
    <!-- Adjust parallel workers, parallel worker would also be bound by number of unit test files -->
    <NumberOfTestWorkers>10</NumberOfTestWorkers>
  </NUnit>
  <!-- General run configuration -->
  <RunConfiguration>
    <EnvironmentVariables>
      <!-- For debugging selectors, it's recommend to set the following environment variable -->
      <DEBUG>pw:api</DEBUG>
    </EnvironmentVariables>
  </RunConfiguration>
  <!-- Playwright -->  
  <Playwright>
    <BrowserName>chromium</BrowserName>
    <!--Set the timeout for your tests.-->
    <ExpectTimeout>5000</ExpectTimeout>
    <LaunchOptions>
      <Headless>false</Headless>
      <!--Channel>msedge</Channel-->
    </LaunchOptions>
  </Playwright>
    <LoggerRunSettings>
        <Loggers>
            <!--microsoft playwright testing service logger for reporting -->
            <Logger friendlyName="microsoft-playwright-testing" enabled="true" />
            <!--could enable any logger additionally -->
            <Logger friendlyName="trx" enabled="false" />
        </Loggers>
    </LoggerRunSettings>
</RunSettings>

.runsettings ファイルの構成オプション

  • serviceAuthType:

    • 説明: この設定では、テストの実行に使用する認証方法を選択できます。
    • 利用できるオプション:
      • アクセス トークンを使用するには AccessToken。 このオプションを使用する場合は、アクセス トークンを使用した認証を有効にする必要があります。認証の管理に関する記事を参照してください。
      • 認証に Microsoft Entra ID を使用するには EntraId。 これは既定のモードです。
    • 既定値: EntraId
    • 例:
      <Parameter name="ServiceAuthType" value="EntraId" />
      
  • os:

    • 説明: この設定では、Playwright テストを実行するブラウザーがホストされているオペレーティング システムを選択できます。
    • 利用できるオプション:
      • Windows OS には "windows" です。
      • Linux OS には "linux" です。
    • 既定値: "linux"
    • 例:
      <Parameter name="Os" value="linux" />
      
  • RunId:

    • 説明: この設定では、すべてのテスト実行に一意の ID を設定して、サービス ポータルで区別することができます。 複数のテスト実行に同じ runId を使用すると、エラーが発生します。 これを設定しない場合、テストの実行をトリガーするたびに、サービス パッケージによって一意の ID が生成されます。 シャーディングの場合は、すべてのシャードで同じものを維持します。
    • 例:
      <Parameter name="RunId" value="sample-run-id1" />
      
  • AzureTokenCredentialType:

    • 説明: この設定では、Microsoft Entra ID で使用する認証方法を選択できます。
    • 例:
      <Parameter name="AzureTokenCredentialType" value="DefaultAzureCredential" />
      
  • UseCloudHostedBrowsers

    • 説明: この設定では、Playwright テストの実行に、クラウドでホストされているブラウザーを使用するか、クライアント コンピューター上のブラウザーを使用するかを選択できます。 このオプションを無効にすると、クラウドでホストされているブラウザーではなく、クライアント コンピューターのブラウザーでテストが実行され、料金は発生しません。
    • 既定値: true
    • 例:
      <Parameter name="UseCloudHostedBrowsers" value="true" />
      
  • ExposeNetwork

    • 説明: この設定を使用すると、別のファイアウォール設定を構成することなく、Playwright テスト コードからローカル リソースに接続できます。 詳細については、ローカル アプリケーションをテストする方法に関する記事を参照してください
    • 例:
      <Parameter name="ExposeNetwork" value="loopback" />
      
  • reporter

    • 説明: microsoft-playwright-testing ロガーを使用して、テスト結果と成果物をサービスに発行できます。 .runsettings からこれを削除するか、false に設定することで、レポートを無効にできます。
    • 既定値: true
    • 例:
      <Logger friendlyName="microsoft-playwright-testing" enabled="true" />
      
  • EnableGitHubSummary:

    • 説明: この設定では、Microsoft Playwright Testing サービス レポーターを構成できます。 GitHub Actions で実行するときに、テスト実行の要約を GitHub の要約に含めるかどうかを選択できます。
    • 既定値: true
    • 例:
      <Parameter name="EnableGitHubSummary" value="false" />