Notes
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 cet article, vous découvrez comment utiliser la fonctionnalité de création de rapports du service Microsoft Playwright Testing avec des séries de tests qui utilisent les fonctionnalités de partitionnement de Playwright.
Le partitionnement de Playwright vous permet de fractionner votre suite de tests pour l’exécuter simultanément sur plusieurs machines. Cette fonctionnalité permet d’exécuter des tests en parallèle.
Vous pouvez utiliser la fonctionnalité de création de rapports de Playwright Testing pour obtenir un rapport consolidé d’une série de tests avec partitionnement. Vérifiez que le runId
de la série de tests est identique sur toutes les partitions.
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
Compte Azure avec un abonnement actif. Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.
Configurez des tests de bout en bout continus. Effectuez le Démarrage rapide : Configurer des tests de bout en bout continus avec Microsoft Playwright Testing Preview pour configurer un pipeline d’intégration continue (CI).
Mettre à jour le fichier de configuration de service Playwright
Ajoutez ou mettez à jour runId
avec le fichier playwright.service.config.ts
dans votre configuration.
export default defineConfig(
config,
getServiceConfig(config, {
runId: process.env.PLAYWRIGHT_SERVICE_RUN_ID, //Set runId for the test run
}),
);
Vous pouvez utiliser la variable PLAYWRIGHT_SERVICE_RUN_ID
dans votre configuration pour garantir que le runId
reste le même sur toutes les partitions.
Configurer des variables
Le paramètre runId
est utilisé comme identificateur par le service Playwright Testing pour faire la distinction entre les séries de test. Les résultats de plusieurs exécutions avec le même runId
sont signalés pour la même exécution sur le portail Playwright.
Par défaut, une série de tests qui utilise la fonctionnalité de création de rapports génère automatiquement un runId
unique, sauf si vous définissez explicitement la valeur vous-même. Si la valeur de la variable reste identique entre les exécutions, les résultats sont signalés ensemble dans la même exécution sur le portail Playwright.
Conseil
Si vous utilisez les navigateurs hébergés dans le cloud fournis par le service Microsoft Playwright Testing pour exécuter vos tests, vous avez peut-être déjà défini cette variable. Pour éviter les remplacements, veillez à ne la définir qu’une seule fois.
Lors de l’utilisation du partitionnement, vérifiez que le même runId
est défini sur toutes les partitions pour que les résultats soient signalés ensemble. Utilisez la variable PLAYWRIGHT_SERVICE_RUN_ID
et définissez la même valeur sur toutes les partitions.
Voici un exemple de la façon dont vous pouvez le définir dans votre pipeline via GitHub Actions.
name: Playwright Tests (Microsoft Playwright Testing)
on:
push:
branches: [ main, master ]
pull_request:
branches: [ main, master ]
workflow_dispatch:
strategy:
fail-fast: false
matrix:
shardIndex: [1, 2, 3, 4]
shardTotal: [4]
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@v3
- uses: actions/setup-node@v3
with:
node-version: 18
# This step is to sign-in to Azure to run tests from GitHub Action workflow.
# You can choose how 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 }} # Required when using Microsoft Entra ID to authenticate
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 Microsoft Playwright Testing
PLAYWRIGHT_SERVICE_URL: ${{ secrets.PLAYWRIGHT_SERVICE_URL }}
PLAYWRIGHT_SERVICE_RUN_ID: ${{ github.run_id }}-${{ github.run_attempt }}-${{ github.sha } #This Run_ID will be unique and will remain same across all shards
run: npx playwright test --shard=${{ matrix.shardIndex }}/${{ matrix.shardTotal }}