Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Dans ce guide de démarrage rapide, vous configurez des tests continus de bout en bout avec les espaces de travail Playwright afin de vérifier que votre application web fonctionne correctement sur différents navigateurs et systèmes d'exploitation à chaque validation de code, et de dépanner facilement les tests à l'aide du tableau de bord du service. Découvrez comment ajouter vos tests Playwright à un workflow d’intégration continue (ou « CI », pour « Continuous Integration »), tel que GitHub Actions, Azure Pipelines ou d’autres plateformes de CI.
Une fois cette procédure de démarrage rapide terminée, vous disposez d'un workflow CI qui exécute votre suite de tests Playwright à grande échelle et vous aide à dépanner facilement les tests avec les espaces de travail Playwright.
Conditions préalables
Un compte Azure avec un abonnement actif. Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.
Un espace de travail Playwright. Suivez le démarrage rapide : exécutez des tests Playwright à grande échelle, puis créez un espace de travail.
- Un compte GitHub. Si vous ne possédez pas de compte GitHub, vous pouvez créer un compte gratuit.
- Un référentiel GitHub qui contient vos spécifications de test Playwright et workflow GitHub Actions. Pour créer un référentiel, consultez Création d’un référentiel.
- Un workflow GitHub Actions. Si vous avez besoin d’aide pour bien démarrer avec GitHub Actions, consultez créer votre premier workflow
- Configurez l’authentification à partir de GitHub Actions dans Azure. Consultez Utiliser GitHub Actions pour vous connecter à Azure.
Obtenir l’URL du point de terminaison de région de service
Dans la configuration du service, vous devez fournir le point de terminaison de service spécifique à la région. Le point de terminaison dépend de la région Azure sélectionnée lors de la création de l’espace de travail.
Pour obtenir l’URL du point de terminaison de service et la stocker en tant que secret de workflow de CI, procédez comme suit :
Connectez-vous au portail Azure avec votre compte Azure et accédez à votre espace de travail.
Sélectionnez la page Prise en main .
Dans Ajouter un point de terminaison de région dans votre configuration, copiez l’URL du point de terminaison de service.
L’URL du point de terminaison correspond à la région Azure que vous avez sélectionnée lors de la création de l’espace de travail.
Stockez l’URL du point de terminaison de service dans un secret de workflow de CI :
Nom du secret Valeur PLAYWRIGHT_SERVICE_URL Collez l’URL du point de terminaison que vous avez copiée précédemment.
Ajouter un fichier de configuration de service
Si vous n’avez pas configuré des tests Playwright pour les exécuter avec le service, ajoutez un fichier de configuration de service à votre référentiel. Lors de l’étape suivante, vous spécifierez ce fichier de configuration de service en utilisant l’interface de ligne de commande de Playwright.
Créez un fichier
playwright.service.config.tsen même temps que le fichierplaywright.config.ts.Si vous le souhaitez, utilisez le fichier
playwright.service.config.tsdans l’exemple de référentiel.Ajoutez le contenu suivant :
import { defineConfig } from '@playwright/test'; import { createAzurePlaywrightConfig, ServiceOS } from '@azure/playwright'; import { DefaultAzureCredential } from '@azure/identity'; import config from './playwright.config'; /* Learn more about service configuration at https://aka.ms/pww/docs/config */ export default defineConfig( config, createAzurePlaywrightConfig(config, { exposeNetwork: '<loopback>', connectTimeout: 3 * 60 * 1000, // 3 minutes os: ServiceOS.LINUX, credential: new DefaultAzureCredential(), }) );Par défaut, la configuration du service vous permet d’accélérer les pipelines de génération en exécutant des tests en parallèle à l’aide de navigateurs hébergés dans le cloud.
Enregistrez et validez le fichier dans votre référentiel de code source.
Mettre à jour le fichier package.json
Mettez à jour le fichier dans votre référentiel pour ajouter des détails sur le package.json package des espaces de travail Playwright dans la devDependencies section.
"devDependencies": {
"@azure/playwright": "latest"
}
Installer le package de service
Dans votre projet, installez le package Espaces de travail Playwright.
dotnet add package Azure.Developer.Playwright.NUnit
Cette commande met à jour le fichier csproj de votre projet en ajoutant les détails du package de service à la section ItemGroup. Pensez à valider les modifications.
<ItemGroup>
<PackageReference Include="Azure.Developer.Playwright.NUnit" Version="1.0.0" />
</ItemGroup>
Définir la configuration du service
- Créez un fichier
PlaywrightServiceNUnitSetup.csdans le répertoire racine de votre projet. Ce fichier facilite l’authentification de votre client auprès du service. - Ajoutez le contenu suivant :
using Azure.Developer.Playwright.NUnit;
using Azure.Identity;
using System.Runtime.InteropServices;
using System;
namespace PlaywrightService.SampleTests; // Remember to change this as per your project namespace
[SetUpFixture]
public class PlaywrightServiceNUnitSetup : PlaywrightServiceBrowserNUnit
{
public PlaywrightServiceNUnitSetup() : base(
credential: new DefaultAzureCredential(),
)
{
// no-op
}
}
- Enregistrez et validez le fichier dans votre référentiel de code source.
Configurer l’authentification
La machine CI exécutant des tests Playwright doit s’authentifier auprès du service des espaces de travail Playwright pour obtenir les navigateurs pour exécuter les tests.
Le service offre deux méthodes d’authentification : Microsoft Entra ID et les Jetons d’accès. Nous vous recommandons vivement d’utiliser Microsoft Entra ID pour authentifier vos pipelines.
Configurer l’authentification à l’aide de Microsoft Entra ID
Si vous utilisez GitHub Actions, vous pouvez vous connecter au service en utilisant GitHub OpenID Connect. Suivez les étapes pour configurer l’intégration :
Conditions préalables
Option 1 : application Microsoft Entra
Créez une application Microsoft Entra avec un principal de service par Portail Azure, Azure CLI ou PowerShell.
Copiez les valeurs pour ID client et ID d’abonnement et ID d’annuaire (locataire). Vous en aurez besoin dans votre workflow GitHub Actions.
Attribuez le rôle
OwnerouContributorau principal de service créé à l’étape précédente. Ces rôles doivent être attribués sur l’espace de travail Playwright. Pour découvrir plus d’informations, consultez comment gérer l’accès.Configurez des informations d’identification fédérées sur une application Microsoft Entra pour approuver les jetons émis par GitHub Actions pour votre référentiel GitHub.
Option 2 : identité managée affectée par l’utilisateur
Copiez les valeurs pour ID client et ID d’abonnement et ID d’annuaire (locataire). Vous en aurez besoin dans votre workflow GitHub Actions.
Attribuez le rôle
OwnerouContributorà l’identité managée affectée par l’utilisateur créée à l’étape précédente. Ces rôles doivent être attribués sur l’espace de travail Playwright. Pour découvrir plus d’informations, consultez comment gérer l’accès.Configurez des informations d’identification fédérées sur une identité managée affectée par l’utilisateur pour approuver les jetons émis par GitHub Actions pour votre référentiel GitHub.
Créer des secrets GitHub
- Ajoutez comme secrets dans votre référentiel GitHub les valeurs obtenues dans l’étape précédente. Consultez configurer un secret d’action GitHub. Ces variables sont utilisées dans le workflow GitHub Action dans les étapes suivantes.
| Secret GitHub | Source (identité managée ou application Microsoft Entra) |
|---|---|
AZURE_CLIENT_ID |
ID de client |
AZURE_SUBSCRIPTION_ID |
Identifiant d’abonnement |
AZURE_TENANT_ID |
ID de répertoire (locataire) |
Remarque
Pour renforcer la sécurité, vous vous recommandons vivement d’utiliser des secrets GitHub pour stocker des valeurs sensibles, au lieu de les inclure directement dans votre fichier de workflow.
Configurer l’authentification à l’aide de jetons d’accès
Avertissement
Nous vous recommandons vivement d’utiliser Microsoft Entra ID pour l’authentification au service. Si vous utilisez des jetons d’accès, consultez Comment gérer les jetons d’accès
Vous pouvez générer un jeton d’accès à partir de votre espace de travail Playwright et l’utiliser dans votre configuration. Toutefois, nous recommandons vivement Microsoft Entra ID pour l’authentification en raison de sa sécurité renforcée. Les jetons d’accès, bien que pratiques, fonctionnent comme des mots de passe de longue durée et sont plus susceptibles d’être compromis.
L’authentification à l’aide de jetons d’accès est désactivée par défaut. Pour l’utiliser, Activer l’authentification basée sur les jetons d’accès.
Configurez l’authentification en utilisant des jetons d’accès.
Stockez le jeton d’accès dans un secret de workflow d’intégration continue et utilisez-le dans le workflow GitHub Actions ou le fichier YAML Azure Pipeline.
| Nom du secret | Valeur |
|---|---|
| PLAYWRIGHT_SERVICE_ACCESS_TOKEN | Collez la valeur du jeton d’accès précédemment créé. |
Mettre à jour la définition du workflow
Mettez à jour la définition de workflow de CI pour exécuter vos tests Playwright en utilisant l’interface de ligne de commande de Playwright. Transmettez le fichier de configuration de service en tant que paramètre d’entrée pour l’interface de ligne de commande de Playwright. Vous configurez votre environnement en spécifiant des variables d’environnement.
Ouvrez la définition de workflow de CI.
Ajoutez les étapes suivantes pour exécuter vos tests playwright dans les espaces de travail playwright.
Les étapes suivantes décrivent les modifications de workflow pour GitHub Actions ou Azure Pipelines. De même, vous pouvez exécuter vos tests Playwright en utilisant l’interface de ligne de commande de Playwright dans d’autres plateformes de CI.
# This step is to sign-in to Azure to run tests from GitHub Action workflow. # Choose how to set up authentication to Azure from GitHub Actions. This is one example. name: Playwright Tests (Playwright Workspaces) on: push: branches: [main, master] pull_request: branches: [main, master] permissions: # Required when using Microsoft Entra ID to authenticate id-token: write contents: read jobs: test: timeout-minutes: 60 runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Login to Azure with AzPowershell (enableAzPSSession true) uses: azure/login@v2 with: client-id: ${{ secrets.AZURE_CLIENT_ID }} # GitHub Open ID connect values copied in previous steps tenant-id: ${{ secrets.AZURE_TENANT_ID }} subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }} enable-AzPSSession: true - name: Install dependencies working-directory: path/to/playwright/folder # update accordingly run: npm ci - name: Run Playwright tests working-directory: path/to/playwright/folder # update accordingly env: # Regional endpoint for Playwright Workspaces PLAYWRIGHT_SERVICE_URL: ${{ secrets.PLAYWRIGHT_SERVICE_URL }} # PLAYWRIGHT_SERVICE_ACCESS_TOKEN: ${{ secrets.PLAYWRIGHT_SERVICE_ACCESS_TOKEN }} # Not recommended, use Microsoft Entra ID authentication. run: npx playwright test -c playwright.service.config.ts --workers=20 - name: Upload Playwright report uses: actions/upload-artifact@v3 if: always() with: name: playwright-report path: path/to/playwright/folder/playwright-report/ # update accordingly retention-days: 10
Mettez à jour la définition de workflow de CI pour exécuter vos tests Playwright en utilisant l’interface de ligne de commande NUnit de Playwright. Vous configurez votre environnement en spécifiant des variables d’environnement.
Ouvrez la définition de workflow de CI.
Ajoutez les étapes suivantes pour exécuter vos tests playwright dans les espaces de travail playwright.
Les étapes suivantes décrivent les modifications de workflow pour GitHub Actions ou Azure Pipelines. De même, vous pouvez exécuter vos tests Playwright en utilisant l’interface de ligne de commande de Playwright dans d’autres plateformes de CI.
on: push: branches: [ main, master ] pull_request: branches: [ main, master ] permissions: # Required when using AuthType as EntraId id-token: write contents: read jobs: test: timeout-minutes: 60 runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 # This step is to sign-in to Azure to run tests from GitHub Action workflow. # Choose how to set up authentication to Azure from GitHub Actions. This is one example. - name: Login to Azure with AzPowershell (enableAzPSSession true) uses: azure/login@v2 with: client-id: ${{ secrets.AZURE_CLIENT_ID }} # GitHub Open ID connect values copied in previous steps tenant-id: ${{ secrets.AZURE_TENANT_ID }} subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }} enable-AzPSSession: true - name: Setup .NET uses: actions/setup-dotnet@v4 with: dotnet-version: 8.0.x - name: Restore dependencies run: dotnet restore working-directory: path/to/playwright/folder # update accordingly - name: Build run: dotnet build --no-restore working-directory: path/to/playwright/folder # update accordingly - name: Run Playwright tests working-directory: path/to/playwright/folder # update accordingly env: # Regional endpoint for Playwright Workspaces PLAYWRIGHT_SERVICE_URL: ${{ secrets.PLAYWRIGHT_SERVICE_URL }} # PLAYWRIGHT_SERVICE_ACCESS_TOKEN: ${{ secrets.PLAYWRIGHT_SERVICE_ACCESS_TOKEN }} # Not recommended, use Microsoft Entra ID authentication. run: dotnet test -- NUnit.NumberOfTestWorkers=20 - name: Upload Playwright report uses: actions/upload-artifact@v3 if: always() with: name: playwright-report path: path/to/playwright/folder/playwright-report/ # update accordingly retention-days: 10
Enregistrez et validez vos modifications.
Lorsque le flux de travail CI est déclenché, vos tests Playwright s’exécutent dans votre espace de travail Playwright sur les navigateurs hébergés dans le cloud, sur 20 travailleurs parallèles. Les résultats sont publiés sur le service et peuvent être consultés dans le portail Azure.
Avertissement
Avec les espaces de travail Playwright, vous êtes facturé(e) en fonction du nombre total de minutes de test consommées. Si vous êtes un nouvel utilisateur ou si vous commencez avec un essai gratuit, vous pouvez commencer par exécuter un test unique à grande échelle à la place de votre suite de tests complète afin d’éviter d’épuiser vos minutes de test gratuites.
Après avoir validé que le test s’exécute correctement, vous pouvez augmenter progressivement la charge de test en exécutant davantage de tests avec le service.
Vous pouvez exécuter un test unique avec le service à l’aide de la ligne de commande suivante :
npx playwright test {name-of-file.spec.ts} --config=playwright.service.config.ts
Afficher les exécutions de test et les résultats
Playwright peut collecter des artefacts de test riches tels que les journaux, les traces et les captures d’écran sur chaque exécution de test. Pour savoir comment afficher les artefacts de test dans votre pipeline CI, consultez la documentation Playwright.
Contenu connexe
Vous avez correctement configuré un workflow de test de bout en bout continu pour exécuter vos tests Playwright à grande échelle sur les navigateurs hébergés dans le cloud.