Lezen in het Engels

Delen via


Microsoft Playwright Testing Reporting Preview gebruiken met Playwright-sharding

In dit artikel leert u hoe u de rapportagefunctie van de Microsoft Playwright Testing-service gebruikt met testuitvoeringen die gebruikmaken van de shardingfuncties van Playwright.

Met de sharding van Playwright kunt u uw testpakket splitsen om tegelijkertijd op meerdere computers uit te voeren. Deze functie helpt bij het parallel uitvoeren van tests.

U kunt de rapportagefunctie van Playwright Testing gebruiken om een geconsolideerd rapport van een testuitvoering met sharding te verkrijgen. Zorg ervoor dat de runId testuitvoering hetzelfde is voor alle shards.

Belangrijk

Microsoft Playwright Testing is momenteel beschikbaar als preview-versie. Zie de aanvullende gebruiksvoorwaarden voor Microsoft Azure Previews voor juridische voorwaarden die van toepassing zijn op Azure-functies die in de bètaversie, in preview of anderszins nog niet zijn uitgebracht in algemene beschikbaarheid.

Vereisten

Configuratiebestand voor playwright-service bijwerken

Voeg een bestand toe of werk runId deze bij playwright.service.config.ts in uw installatie.


export default defineConfig(
  config,
  getServiceConfig(config, {
  runId: process.env.PLAYWRIGHT_SERVICE_RUN_ID, //Set runId for the test run
  }),
);

U kunt een variabele in uw installatie gebruiken PLAYWRIGHT_SERVICE_RUN_ID om ervoor te zorgen dat alle runId shards hetzelfde blijven.

Variabelen instellen

De runId instelling wordt gebruikt als id door de Playwright Testing-service om onderscheid te maken tussen testuitvoeringen. De resultaten van meerdere uitvoeringen met hetzelfde runId worden gerapporteerd aan dezelfde uitvoering in de Playwright-portal.

Standaard genereert een testuitvoering die gebruikmaakt van de rapportagefunctie automatisch een unieke runId , tenzij u de waarde expliciet zelf instelt. Als de waarde van de variabele hetzelfde blijft voor uitvoeringen, worden de resultaten samen gerapporteerd in dezelfde uitvoering in de Playwright-portal.

Tip

Als u de in de cloud gehoste browsers gebruikt die worden geleverd door de Microsoft Playwright Testing-service om uw tests uit te voeren, hebt u deze variabele mogelijk al ingesteld. Als u overschrijven wilt voorkomen, moet u deze slechts één keer instellen.

Zorg er tijdens het gebruik van sharding voor dat hetzelfde runId is ingesteld voor alle shards om de resultaten samen te melden. Gebruik de variabele PLAYWRIGHT_SERVICE_RUN_ID en stel dezelfde waarde in voor alle shards.

Hier volgt een voorbeeld van hoe u deze in uw pijplijn kunt instellen 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 }}