Partager via


Utiliser les options disponibles dans le package de service avec la préversion de Microsoft Playwright Testing

Cet article vous montre comment utiliser les options disponibles dans le fichier playwright.service.config.ts généré pour vous. Si vous n’avez pas ce fichier dans votre code, suivez le Démarrage rapide : exécuter des tests de bout en bout à grande échelle à l’aide de Microsoft Playwright Testing en préversion

Cet article vous montre comment utiliser les options disponibles dans le fichier .runsettings. Si vous n’avez pas ce fichier dans votre code, suivez le Démarrage rapide : exécuter des tests de bout en bout à grande échelle à l’aide de Microsoft Playwright Testing en préversion

Important

Microsoft Playwright Testing est actuellement en préversion. Pour connaître les conditions juridiques qui s’appliquent aux fonctionnalités Azure en version bêta, en préversion ou plus généralement non encore en disponibilité générale, consultez l’Avenant aux conditions d’utilisation des préversions de Microsoft Azure.

Prérequis

Voici la version du fichier playwright.service.config.ts avec toutes les options disponibles :

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

Paramètres dans le fichier playwright.service.config.ts

  • serviceAuthType :

    • Description: ce paramètre vous permet de choisir la méthode d’authentification que vous souhaitez utiliser pour votre exécution de test.
    • Options disponibles:
      • ACCESS_TOKEN pour utiliser des jetons d’accès. Vous devez activer l’authentification à l’aide de jetons d’accès si vous souhaitez utiliser cette option, consultez gérer l’authentification.
      • ENTRA_ID utiliser Microsoft Entra ID pour l’authentification. Il s’agit du mode par défaut.
    • Valeur par défaut: ENTRA_ID
    • Exemple :
      serviceAuthType:'ENTRA_ID'
      
  • os :

    • Description: ce paramètre vous permet de choisir le système d’exploitation dans lequel les navigateurs exécutant des tests playwright sont hébergés.
    • Options disponibles:
      • ServiceOS.WINDOWS pour le système d’exploitation Windows.
      • ServiceOS.LINUX pour le système d’exploitation Linux.
    • Valeur par défaut: ServiceOS.LINUX
    • Exemple :
      os: ServiceOS.WINDOWS
      
  • runId :

    • Description: ce paramètre vous permet de définir un ID unique pour chaque exécution de test afin de les distinguer dans le portail de service. L’utilisation du même runId pour plusieurs exécutions de test entraîne une erreur. Pour le partitionnement, gardez le même pour toutes les partitions.
    • Exemple :
      runId: new Date().toISOString()
      
  • credential :

    • Description: ce paramètre vous permet de sélectionner la méthode d’authentification que vous souhaitez utiliser avec Microsoft Entra ID.
    • Exemple :
      credential: new AzureCliCredential()
      
  • useCloudHostedBrowsers

    • Description : ce paramètre vous permet de préciser si vous souhaitez utiliser des navigateurs hébergés dans le cloud ou des navigateurs sur votre ordinateur client pour exécuter vos tests Playwright. Si vous désactivez cette option, vos tests s’exécutent sur les navigateurs de votre ordinateur client au lieu de navigateurs hébergés dans le cloud, et vous n’entraînez pas de frais.
    • Valeur par défaut : true
    • Exemple :
      useCloudHostedBrowsers: true
      
  • exposeNetwork

    • Description: ce paramètre vous permet de vous connecter aux ressources locales à partir de votre code de test Playwright sans avoir à configurer d’autres paramètres de pare-feu. Pour plus d’informations, consultez comment tester des applications locales
    • Exemple :
      exposeNetwork: '<loopback>'
      
  • timeout

    • Description: ce paramètre vous permet de définir le délai d’expiration de vos tests de connexion aux navigateurs hébergés dans le cloud.
    • Exemple :
      timeout: 30000,
      
  • reporter

    • Description: le fichier playwright.service.config.ts étend le fichier de configuration playwright de votre installation. Cette option remplace les reporters existants et définit le reporter Microsoft Playwright Testing. Vous pouvez ajouter ou modifier cette liste pour inclure les reporters que vous souhaitez utiliser. Vous êtes facturé pour le rapport Microsoft Playwright Testing si vous ajoutez @azure/microsoft-playwright-testing/reporter.
    • Valeur par défaut : ["@azure/microsoft-playwright-testing/reporter"]
    • Exemple :
      reporter: [
      ["list"],
      ["@azure/microsoft-playwright-testing/reporter"],
      
  • enableGitHubSummary :

    • Description: ce paramètre vous permet de configurer le reporter du service Microsoft Playwright Testing. Vous pouvez choisir d’inclure le résumé de l’exécution de test dans le résumé GitHub lors de l’exécution dans GitHub Actions.
    • Valeur par défaut : true
    • Exemple :
      reporter: [
        ["list"],
        [
          "@azure/microsoft-playwright-testing/reporter",
          {
            enableGitHubSummary: true,
          },
        ],
      ]
    

Voici la version du fichier .runsettings avec toutes les options disponibles :

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

Options de configuration dans un fichier .runsettings

  • serviceAuthType :

    • Description: ce paramètre vous permet de choisir la méthode d’authentification que vous souhaitez utiliser pour votre exécution de test.
    • Options disponibles:
      • AccessToken pour utiliser des jetons d’accès. Vous devez activer l’authentification à l’aide de jetons d’accès si vous souhaitez utiliser cette option, consultez gérer l’authentification.
      • EntraId utiliser Microsoft Entra ID pour l’authentification. Il s’agit du mode par défaut.
    • Valeur par défaut: EntraId
    • Exemple :
      <Parameter name="ServiceAuthType" value="EntraId" />
      
  • os :

    • Description: ce paramètre vous permet de choisir le système d’exploitation dans lequel les navigateurs exécutant des tests playwright sont hébergés.
    • Options disponibles:
      • « windows » pour le système d’exploitation Windows.
      • « linux » pour le système d’exploitation Linux.
    • Valeur par défaut : « linux »
    • Exemple :
      <Parameter name="Os" value="linux" />
      
  • RunId :

    • Description: ce paramètre vous permet de définir un ID unique pour chaque exécution de test afin de les distinguer dans le portail de service. L’utilisation du même runId pour plusieurs exécutions de test entraîne une erreur. Si vous ne le définissez pas, le package de service génère un ID unique lors de chaque déclenchement d’une exécution de test. Pour le partitionnement, gardez le même pour toutes les partitions.
    • Exemple :
      <Parameter name="RunId" value="sample-run-id1" />
      
  • AzureTokenCredentialType :

    • Description: ce paramètre vous permet de sélectionner la méthode d’authentification que vous souhaitez utiliser avec Microsoft Entra ID.
    • Exemple :
      <Parameter name="AzureTokenCredentialType" value="DefaultAzureCredential" />
      
  • UseCloudHostedBrowsers

    • Description : ce paramètre vous permet de préciser si vous souhaitez utiliser des navigateurs hébergés dans le cloud ou des navigateurs sur votre ordinateur client pour exécuter vos tests Playwright. Si vous désactivez cette option, vos tests s’exécutent sur les navigateurs de votre ordinateur client au lieu de navigateurs hébergés dans le cloud, et vous n’entraînez pas de frais.
    • Valeur par défaut : true
    • Exemple :
      <Parameter name="UseCloudHostedBrowsers" value="true" />
      
  • ExposeNetwork

    • Description: ce paramètre vous permet de vous connecter aux ressources locales à partir de votre code de test Playwright sans avoir à configurer d’autres paramètres de pare-feu. Pour plus d’informations, consultez comment tester des applications locales
    • Exemple :
      <Parameter name="ExposeNetwork" value="loopback" />
      
  • reporter

    • Description : vous pouvez publier vos résultats et artefacts de test sur le service en utilisant l’enregistreur microsoft-playwright-testing. Vous pouvez désactiver la création de rapports en supprimant ce paramètre de votre .runsettings ou en le définissant sur false.
    • Valeur par défaut : true
    • Exemple :
      <Logger friendlyName="microsoft-playwright-testing" enabled="true" />
      
  • EnableGitHubSummary :

    • Description: ce paramètre vous permet de configurer le reporter du service Microsoft Playwright Testing. Vous pouvez choisir d’inclure le résumé de l’exécution de test dans le résumé GitHub lors de l’exécution dans GitHub Actions.
    • Valeur par défaut : true
    • Exemple :
      <Parameter name="EnableGitHubSummary" value="false" />