共用方式為


使用服務套件中可用的選項搭配 Microsoft Playwright Testing 預覽

本文說明如何使用系統為您產生的 playwright.service.config.ts 檔案中可用的選項。 如果您的程式代碼中沒有此檔案,請遵循 快速入門:使用 Microsoft Playwright Testing Preview 大規模執行端對端測試

本文說明如何使用 檔案中 .runsettings 可用的選項。 如果您的程式代碼中沒有此檔案,請遵循 快速入門:使用 Microsoft Playwright Testing Preview 大規模執行端對端測試

重要

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:使用存取權杖。 若要使用此選項,必須啟用使用存取權杖的驗證;請參閱管理驗證
      • ENTRA_ID:使用 Microsoft Entra ID 進行驗證。 這是預設模式。
    • 預設值: ENTRA_ID
    • 範例:
      serviceAuthType:'ENTRA_ID'
      
  • os

    • 描述:此設定可讓您選擇執行 Playwright 測試的瀏覽器裝載所在的作業系統。
    • 可用選項
      • ServiceOS.WINDOWS 用於 Windows OS。
      • ServiceOS.LINUX 用於 Linux OS。
    • 預設值: ServiceOS.LINUX
    • 範例:
      os: ServiceOS.WINDOWS
      
  • runId

    • 描述:此設定可讓您為每個測試回合設定唯一識別碼,以便在服務入口網站中加以區分。 針對多個測試回合使用相同的 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:使用存取權杖。 若要使用此選項,必須啟用使用存取權杖的驗證;請參閱管理驗證
      • EntraId:使用 Microsoft Entra ID 進行驗證。 這是預設模式。
    • 預設值: EntraId
    • 範例:
      <Parameter name="ServiceAuthType" value="EntraId" />
      
  • os

    • 描述:此設定可讓您選擇執行 Playwright 測試的瀏覽器裝載所在的作業系統。
    • 可用選項
      • 適用於 Windows OS 的 「windows」。
      • 適用於Linux OS的 「linux」。
    • 默認值:“linux”
    • 範例:
      <Parameter name="Os" value="linux" />
      
  • RunId

    • 描述:此設定可讓您為每個測試回合設定唯一識別碼,以便在服務入口網站中加以區分。 針對多個測試回合使用相同的 runId 會導致錯誤。 如果您未設定,服務套件會在每次觸發測試回合時產生唯一標識碼。 若要進行分區化,請將這一點保留在所有分區中。
    • 範例:
      <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" />