Partilhar via


Usar a visualização do Relatório de Teste de Playwright da Microsoft com fragmentação de Playwright

Importante

O Microsoft Playwright Testing será desativado em 8 de março de 2026. Para continuar a executar seus testes de Playwright, crie um novo Espaço de Trabalho de Playwright no Azure App Testing, agora disponível ao público em geral. Saiba como migrar.

Neste artigo, você aprenderá a usar o recurso de relatório do serviço Microsoft Playwright Testing com execuções de teste que usam os recursos de fragmentação do Playwright.

A fragmentação do Playwright permite que você divida seu conjunto de testes para ser executado em várias máquinas simultaneamente. Esse recurso ajuda a executar testes em paralelo.

Você pode usar o recurso de relatório do Playwright Test para obter um relatório consolidado de uma execução de teste com fragmentação. Certifique-se de que a runId execução do teste seja a mesma em todos os fragmentos.

Importante

O Microsoft Playwright Testing está atualmente em pré-visualização. Para obter os termos legais que se aplicam aos recursos do Azure que estão em versão beta, em visualização ou ainda não lançados em disponibilidade geral, consulte os Termos de Uso Suplementares para Visualizações do Microsoft Azure.

Pré-requisitos

  • Uma conta do Azure com uma subscrição ativa. Se não tiver uma subscrição do Azure, crie uma conta gratuita antes de começar.

  • Configure testes contínuos de ponta a ponta. Conclua o Guia de início rápido: configure testes contínuos de ponta a ponta com o Microsoft Playwright Testing Preview para configurar o pipeline de integração contínua (CI).

Atualizar arquivo de configuração do serviço de reprodução

Adicione ou atualize runId para o playwright.service.config.ts arquivo em sua configuração.


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

Você pode usar PLAYWRIGHT_SERVICE_RUN_ID a variável em sua configuração para garantir que a runId mesma permaneça em todos os fragmentos.

Configurar variáveis

A runId configuração é usada como um identificador pelo serviço Playwright Testing para distinguir entre execuções de teste. Os resultados de várias execuções com a mesma runId são reportados para a mesma execução no portal Playwright.

Por padrão, uma execução de teste que usa o recurso de relatório gera automaticamente um exclusivo runId , a menos que você mesmo defina explicitamente o valor. Se o valor da variável permanecer o mesmo entre as execuções, os resultados serão relatados juntos na mesma execução no portal Playwright.

Gorjeta

Se você usar os navegadores hospedados na nuvem fornecidos pelo serviço Microsoft Playwright Testing para executar seus testes, talvez já tenha definido essa variável. Para evitar substituições, certifique-se de defini-lo apenas uma vez.

Ao usar a fragmentação, certifique-se de que o mesmo runId esteja definido em todos os fragmentos para que os resultados sejam relatados juntos. Use a variável PLAYWRIGHT_SERVICE_RUN_ID e defina o mesmo valor em todos os fragmentos.

Aqui está um exemplo de como você pode defini-lo em seu pipeline por meio das Ações do GitHub.

  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@v4
        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 }}