Guia de início rápido: configure testes contínuos de ponta a ponta com o Microsoft Playwright Testing Preview
Neste início rápido, você configura testes contínuos de ponta a ponta com o Microsoft Playwright Testing Preview para validar se seu aplicativo Web é executado corretamente em diferentes navegadores e sistemas operacionais com cada confirmação de código e solucionar problemas de testes facilmente usando o painel de serviço. Saiba como adicionar seus testes de Playwright a um fluxo de trabalho de integração contínua (CI), como Ações do GitHub, Pipelines do Azure ou outras plataformas de CI.
Depois de concluir este início rápido, você terá um fluxo de trabalho de CI que executa seu conjunto de testes Playwright em escala e ajuda você a solucionar problemas de testes facilmente com o Microsoft Playwright Testing.
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.
Um espaço de trabalho Microsoft Playwright Testing. Conclua o guia de início rápido: execute testes de Playwright em escala para criar um espaço de trabalho.
- Uma conta GitHub. Se você não tiver uma conta no GitHub, poderá criar uma gratuitamente.
- Um repositório do GitHub que contém as especificações de teste do Playwright e o fluxo de trabalho do GitHub Actions. Para criar um repositório, consulte Criando um novo repositório.
- Um fluxo de trabalho de Ações do GitHub. Se precisar de ajuda para começar a usar as Ações do GitHub, consulte Criar seu primeiro fluxo de trabalho
- Configure a autenticação das Ações do GitHub para o Azure. Consulte Usar ações do GitHub para se conectar ao Azure
Obter o URL do ponto de extremidade da região de serviço
Na configuração de serviço, você precisa fornecer o ponto de extremidade de serviço específico da região. O ponto de extremidade depende da região do Azure selecionada ao criar o espaço de trabalho.
Para obter a URL do ponto de extremidade do serviço e armazená-la como um segredo de fluxo de trabalho de CI, execute as seguintes etapas:
Entre no portal Playwright com sua conta do Azure.
Na página inicial do espaço de trabalho, selecione Exibir guia de configuração.
Gorjeta
Se você tiver vários espaços de trabalho, poderá alternar para outro espaço de trabalho selecionando o nome do espaço de trabalho na parte superior da página e, em seguida, selecionando Gerenciar todos os espaços de trabalho.
Em Adicionar ponto de extremidade de região em sua configuração, copie a URL do ponto de extremidade de serviço.
A URL do ponto de extremidade corresponde à região do Azure que você selecionou ao criar o espaço de trabalho.
Armazene a URL do ponto de extremidade do serviço em um segredo de fluxo de trabalho de CI:
Nome do segredo Value PLAYWRIGHT_SERVICE_URL Cole o URL do ponto de extremidade copiado anteriormente.
Adicionar arquivo de configuração de serviço
Se você ainda não configurou seus testes de Playwright para executá-los em navegadores hospedados na nuvem, adicione um arquivo de configuração de serviço ao repositório. Na próxima etapa, especifique esse arquivo de configuração de serviço na CLI do Playwright.
Crie um novo arquivo
playwright.service.config.ts
ao lado doplaywright.config.ts
arquivo.Opcionalmente, use o
playwright.service.config.ts
arquivo no repositório de exemplo.Adicione o seguinte conteúdo a ele:
import { defineConfig } from '@playwright/test'; import { getServiceConfig, ServiceOS } from '@azure/microsoft-playwright-testing'; import config from './playwright.config'; /* Learn more about service configuration at https://aka.ms/mpt/config */ export default defineConfig( config, getServiceConfig(config, { exposeNetwork: '<loopback>', timeout: 30000, os: ServiceOS.LINUX, useCloudHostedBrowsers: true }), { /* Playwright Testing service reporter is added by default. This will override any reporter options specified in the base playwright config. If you are using more reporters, please update your configuration accordingly. */ reporter: [['list'], ['@azure/microsoft-playwright-testing/reporter']], } );
Por padrão, a configuração do serviço permite:
- Acelere os pipelines de compilação executando testes em paralelo usando navegadores hospedados na nuvem.
- Simplifique a solução de problemas com fácil acesso aos resultados de testes e artefatos publicados no serviço.
No entanto, você pode optar por usar um desses recursos ou ambos. Consulte Como usar recursos de serviço e atualizar o arquivo de configuração de serviço de acordo com sua necessidade.
Salve e confirme o arquivo em seu repositório de código-fonte.
Atualizar arquivo package.json
Atualize o arquivo em seu repositório para adicionar detalhes sobre o package.json
pacote de serviço Microsoft Playwright Testing na devDependencies
seção.
"devDependencies": {
"@azure/microsoft-playwright-testing": "^1.0.0-beta.3"
}
Habilitar artefatos na configuração do Playwright
playwright.config.ts
No arquivo do seu projeto, certifique-se de que você está coletando todos os artefatos necessários.
use: {
trace: 'on-first-retry',
video:'retain-on-failure',
screenshot:'on'
},
Atualizar a definição do fluxo de trabalho
Atualize a definição do fluxo de trabalho de CI para executar seus testes de Playwright com a CLI do Playwright. Passe o arquivo de configuração de serviço como um parâmetro de entrada para a CLI do Playwright. Você configura seu ambiente especificando variáveis de ambiente.
Abrir a definição do fluxo de trabalho de CI
Adicione as seguintes etapas para executar seus testes de Playwright no Microsoft Playwright Testing.
As etapas a seguir descrevem as alterações de fluxo de trabalho para Ações do GitHub ou Pipelines do Azure. Da mesma forma, você pode executar seus testes de Playwright usando a CLI Playwright em outras plataformas 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: Login to Azure with AzPowershell (enableAzPSSession true) uses: azure/login@v2 with: client-id: ${{ secrets.AZURE_CLIENT_ID }} 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 }} 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
Salve e confirme suas alterações.
Quando o fluxo de trabalho de CI é acionado, seus testes de Playwright são executados em seu espaço de trabalho Microsoft Playwright Testing em navegadores hospedados na nuvem, em 20 trabalhadores paralelos.
Nota
O recurso de relatório é habilitado por padrão para espaços de trabalho existentes. Isso está sendo implementado em etapas e levará alguns dias. Para evitar falhas, confirme se Rich diagnostics using reporting
a configuração está ATIVADA para seu espaço de trabalho antes de continuar. Consulte Habilitar relatórios para espaço de trabalho.
Atenção
Com o Microsoft Playwright Testing, você é cobrado com base no número total de minutos de teste e no resultado do teste publicado. Se você é um usuário iniciante ou está começando com uma avaliação gratuita, você pode começar executando um único teste em escala em vez de seu conjunto de testes completo para evitar esgotar seus minutos de teste gratuitos e resultados de teste.
Depois de validar que o teste é executado com êxito, você pode aumentar gradualmente a carga de teste executando mais testes com o serviço.
Você pode executar um único teste com o serviço usando a seguinte linha de comando:
npx playwright test {name-of-file.spec.ts} --config=playwright.service.config.ts
Veja as execuções de teste e os resultados no portal Playwright
Agora você pode solucionar problemas do pipeline de CI no portal Playwright,
Após a conclusão da execução do teste, um link para o Portal do Playwright é gerado. Abra este link para visualizar os resultados detalhados do teste e os artefatos associados. O portal apresenta informações essenciais, incluindo:
- Detalhes da construção CI
- Status geral da execução do teste
- O ID de confirmação vinculado à execução do teste
O portal Playwright fornece todas as informações necessárias para a resolução de problemas. Pode:
- Alternar entre tentativas.
- Visualize logs de erros detalhados, etapas de teste e artefatos anexados, como capturas de tela ou vídeos.
- Navegue diretamente até o Visualizador de rastreamento para uma análise mais profunda.
O Visualizador de rastreamento permite que você percorra visualmente a execução do teste. Pode:
- Use a linha do tempo para passar o mouse sobre etapas individuais, revelando o estado da página antes e depois de cada ação.
- Inspecione logs detalhados, instantâneos DOM, atividade de rede, erros e saída do console para cada etapa.
Gorjeta
Você pode usar os recursos do serviço Microsoft Playwright Testing independentemente. Você pode publicar resultados de teste no portal sem usar o recurso de navegadores hospedados na nuvem e também pode usar apenas navegadores hospedados na nuvem para agilizar seu conjunto de testes sem publicar resultados de teste. Para obter detalhes, consulte Como usar recursos de serviço.
Nota
Os resultados do teste e os artefatos que você publica são retidos no serviço por 90 dias. Depois disso, eles são excluídos automaticamente.
Conteúdos relacionados
Você configurou com sucesso um fluxo de trabalho de teste contínuo de ponta a ponta para executar seus testes Playwright em escala em navegadores hospedados na nuvem.