Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Neste artigo, você aprenderá a usar o recurso de relatório do serviço Microsoft Playwright Testing com execuções de teste que usam recursos de fragmentação do Playwright.
A fragmentação do Playwright permite que você divida seu conjunto de testes para ser executado em vários computadores simultaneamente. Esse recurso ajuda a executar testes em paralelo.
Você pode usar o recurso de relatório do Playwright Testing para obter um relatório consolidado de uma execução de teste com fragmentação. Garanta que o runId
da execução de teste seja o mesmo em todos os fragmentos.
Importante
O Microsoft Playwright Testing está atualmente em pré-visualização. Para os termos legais que se aplicam aos recursos do Azure que estão em versão beta, versão prévia ou que, de outra forma, ainda não foram lançados em disponibilidade geral, confira os Termos de Uso Complementares para Versões Prévias do Microsoft Azure.
Pré-requisitos
Uma conta do Azure com uma assinatura ativa. Se você não tiver uma assinatura do Azure, crie uma conta gratuita antes de começar.
Configurar testes contínuos de ponta a ponta. Conclua o Início Rápido: Configurar testes contínuos de ponta a ponta com o Microsoft Playwright Testing Preview para configurar o pipeline de integração contínua (CI).
Atualize o arquivo de configuração de serviço de playwright
Adicione ou atualize runId
para o arquivo playwright.service.config.ts
na configuração.
export default defineConfig(
config,
getServiceConfig(config, {
runId: process.env.PLAYWRIGHT_SERVICE_RUN_ID, //Set runId for the test run
}),
);
Você pode usar a variável PLAYWRIGHT_SERVICE_RUN_ID
em sua configuração para garantir que o runId
permaneça igual em todos os fragmentos.
Definir variáveis
A configuração de runId
é usada como um identificador pelo serviço do Playwright Testing para distinguir entre execuções de teste. Os resultados de várias execuções com o mesmo runId
são relatados para a mesma execução no portal do Playwright.
Por padrão, uma execução de teste que usa o recurso de relatório gera automaticamente uma runId
exclusiva, a menos que você defina explicitamente o valor por conta própria. Se o valor da variável permanecer igual em execuções, os resultados serão relatados juntos na mesma execução no portal do Playwright.
Dica
Se você usar os navegadores hospedados na nuvem fornecidos pelo serviço Microsoft Playwright Testing para executar seus testes, talvez você já tenha definido essa variável. Para evitar substituições, certifique-se de defini-lo apenas uma vez.
Ao usar a fragmentação, verifique se a mesma runId
está definida 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 do 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 }}