Udostępnij za pośrednictwem


Korzystanie z opcji dostępnych w pakiecie usług w wersji zapoznawczej microsoft Playwright Testing

W tym artykule pokazano, jak używać opcji dostępnych w playwright.service.config.ts pliku, który został wygenerowany. Jeśli nie masz tego pliku w kodzie, postępuj zgodnie z instrukcjami Szybki start: uruchamianie testów na dużą skalę za pomocą testowania w programie Microsoft Playwright w wersji zapoznawczej

W tym artykule pokazano, jak używać opcji dostępnych w .runsettings pliku. Jeśli nie masz tego pliku w kodzie, postępuj zgodnie z instrukcjami Szybki start: uruchamianie testów na dużą skalę za pomocą testowania w programie Microsoft Playwright w wersji zapoznawczej

Ważne

Microsoft Playwright Testing jest obecnie w wersji zapoznawczej. Aby uzyskać postanowienia prawne dotyczące funkcji platformy Azure, które znajdują się w wersji beta, w wersji zapoznawczej lub w inny sposób nie zostały jeszcze wydane w wersji ogólnodostępnej, zobacz Dodatkowe warunki użytkowania dla wersji zapoznawczych platformy Microsoft Azure.

Wymagania wstępne

Oto wersja playwright.service.config.ts pliku ze wszystkimi dostępnymi opcjami:

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.
        },
      ],
    ],
  },
);

Ustawienia w playwright.service.config.ts pliku

  • serviceAuthType:

    • Opis: To ustawienie umożliwia wybranie metody uwierzytelniania, która ma być używana na potrzeby przebiegu testowego.
    • Dostępne opcje:
      • ACCESS_TOKEN aby używać tokenów dostępu. Jeśli chcesz użyć tej opcji, musisz włączyć uwierzytelnianie przy użyciu tokenów dostępu, zobacz Zarządzanie uwierzytelnianiem.
      • ENTRA_ID aby użyć identyfikatora Entra firmy Microsoft do uwierzytelniania. Jest to tryb domyślny.
    • Wartość domyślna: ENTRA_ID
    • Przykład:
      serviceAuthType:'ENTRA_ID'
      
  • os:

    • Opis: To ustawienie umożliwia wybranie systemu operacyjnego, w którym są hostowane przeglądarki z uruchomionymi testami playwright.
    • Dostępne opcje:
      • ServiceOS.WINDOWS dla systemu operacyjnego Windows.
      • ServiceOS.LINUX dla systemu operacyjnego Linux.
    • Wartość domyślna: ServiceOS.LINUX
    • Przykład:
      os: ServiceOS.WINDOWS
      
  • runId:

    • Opis: To ustawienie umożliwia ustawienie unikatowego identyfikatora dla każdego przebiegu testu w celu odróżnienia ich w portalu usługi. Użycie tego samego identyfikatora runId dla wielu przebiegów testów powoduje wystąpienie błędu. W przypadku fragmentowania zachowaj to samo we wszystkich fragmentach.
    • Przykład:
      runId: new Date().toISOString()
      
  • credential:

    • Opis: To ustawienie umożliwia wybranie metody uwierzytelniania, której chcesz użyć z identyfikatorem Entra firmy Microsoft.
    • Przykład:
      credential: new AzureCliCredential()
      
  • useCloudHostedBrowsers

    • Opis: To ustawienie umożliwia wybranie, czy używać przeglądarek hostowanych w chmurze, czy przeglądarek na komputerze klienckim do uruchamiania testów playwright. Jeśli wyłączysz tę opcję, testy będą uruchamiane w przeglądarkach komputera klienckiego zamiast przeglądarek hostowanych w chmurze i nie będą naliczane żadne opłaty.
    • Wartość domyślna: true
    • Przykład:
      useCloudHostedBrowsers: true
      
  • exposeNetwork

    • Opis: To ustawienie umożliwia łączenie się z zasobami lokalnymi z poziomu kodu testowego playwright bez konieczności konfigurowania innych ustawień zapory. Aby dowiedzieć się więcej, zobacz , jak testować aplikacje lokalne
    • Przykład:
      exposeNetwork: '<loopback>'
      
  • timeout

    • Opis: To ustawienie umożliwia ustawienie limitu czasu dla testów łączących się z przeglądarkami hostowanymi w chmurze.
    • Przykład:
      timeout: 30000,
      
  • reporter

    • Opis: playwright.service.config.ts Plik rozszerza plik konfiguracji dramaturgu konfiguracji. Ta opcja zastępuje istniejących reporterów i ustawia reportera Microsoft Playwright Testing. Możesz dodać lub zmodyfikować tę listę, aby uwzględnić reporterów, których chcesz użyć. Opłaty są naliczane za raportowanie testowania w programie Microsoft Playwright w przypadku dodania @azure/microsoft-playwright-testing/reporterelementu .
    • Wartość domyślna: ["@azure/microsoft-playwright-testing/reporter"]
    • Przykład:
      reporter: [
      ["list"],
      ["@azure/microsoft-playwright-testing/reporter"],
      
  • enableGitHubSummary:

    • Opis: To ustawienie umożliwia skonfigurowanie reportera usługi Microsoft Playwright Testing Service. Podczas uruchamiania funkcji GitHub Actions możesz wybrać, czy dołączyć podsumowanie przebiegu testu do podsumowania w usłudze GitHub Actions.
    • Wartość domyślna: true
    • Przykład:
      reporter: [
        ["list"],
        [
          "@azure/microsoft-playwright-testing/reporter",
          {
            enableGitHubSummary: true,
          },
        ],
      ]
    

Oto wersja .runsettings pliku ze wszystkimi dostępnymi opcjami:

<?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>

Opcje w .runsettings pliku

  • serviceAuthType:

    • Opis: To ustawienie umożliwia wybranie metody uwierzytelniania, która ma być używana na potrzeby przebiegu testowego.
    • Dostępne opcje:
      • AccessToken aby używać tokenów dostępu. Jeśli chcesz użyć tej opcji, musisz włączyć uwierzytelnianie przy użyciu tokenów dostępu, zobacz Zarządzanie uwierzytelnianiem.
      • EntraId aby użyć identyfikatora Entra firmy Microsoft do uwierzytelniania. Jest to tryb domyślny.
    • Wartość domyślna: EntraId
    • Przykład:
      <Parameter name="ServiceAuthType" value="EntraId" />
      
  • os:

    • Opis: To ustawienie umożliwia wybranie systemu operacyjnego, w którym są hostowane przeglądarki z uruchomionymi testami playwright.
    • Dostępne opcje:
      • "windows" dla systemu operacyjnego Windows.
      • "linux" dla systemu operacyjnego Linux.
    • Wartość domyślna: "linux"
    • Przykład:
      <Parameter name="Os" value="linux" />
      
  • RunId:

    • Opis: To ustawienie umożliwia ustawienie unikatowego identyfikatora dla każdego przebiegu testu w celu odróżnienia ich w portalu usługi. Użycie tego samego identyfikatora runId dla wielu przebiegów testów powoduje wystąpienie błędu. Jeśli go nie ustawisz, pakiet usługi wygeneruje unikatowy identyfikator za każdym razem, gdy wyzwolisz przebieg testu. W przypadku fragmentowania zachowaj to samo we wszystkich fragmentach.
    • Przykład:
      <Parameter name="RunId" value="sample-run-id1" />
      
  • AzureTokenCredentialType:

    • Opis: To ustawienie umożliwia wybranie metody uwierzytelniania, której chcesz użyć z identyfikatorem Entra firmy Microsoft.
    • Przykład:
      <Parameter name="AzureTokenCredentialType" value="DefaultAzureCredential" />
      
  • UseCloudHostedBrowsers

    • Opis: To ustawienie umożliwia wybranie, czy używać przeglądarek hostowanych w chmurze, czy przeglądarek na komputerze klienckim do uruchamiania testów playwright. Jeśli wyłączysz tę opcję, testy będą uruchamiane w przeglądarkach komputera klienckiego zamiast przeglądarek hostowanych w chmurze i nie będą naliczane żadne opłaty.
    • Wartość domyślna: true
    • Przykład:
      <Parameter name="UseCloudHostedBrowsers" value="true" />
      
  • ExposeNetwork

    • Opis: To ustawienie umożliwia łączenie się z zasobami lokalnymi z poziomu kodu testowego playwright bez konieczności konfigurowania innych ustawień zapory. Aby dowiedzieć się więcej, zobacz , jak testować aplikacje lokalne
    • Przykład:
      <Parameter name="ExposeNetwork" value="loopback" />
      
  • reporter

    • Opis: Wyniki testu i artefakty można opublikować w usłudze przy użyciu microsoft-playwright-testing rejestratora. Możesz wyłączyć raportowanie, usuwając je z elementu .runsettings lub ustawiając na wartość false.
    • Wartość domyślna: true
    • Przykład:
      <Logger friendlyName="microsoft-playwright-testing" enabled="true" />
      
  • EnableGitHubSummary:

    • Opis: To ustawienie umożliwia skonfigurowanie reportera usługi Microsoft Playwright Testing Service. Podczas uruchamiania funkcji GitHub Actions możesz wybrać, czy dołączyć podsumowanie przebiegu testu do podsumowania w usłudze GitHub Actions.
    • Wartość domyślna: true
    • Przykład:
      <Parameter name="EnableGitHubSummary" value="false" />