Skills

webapp-testing: testar uma app Web local com Playwright

Use para verificar um front local com Python Playwright. Primeiro --help no helper, arranque o chromium em headless e, em páginas dinâmicas, espere networkidle antes de ver o DOM.

Official source · webapp-testing

Install

scripts/with_server.py --help

Para quem serve

Use webapp-testing quando precisar que o Playwright interaja com uma app Web local e a teste. Serve para verificar o front, depurar o comportamento da interface, capturar ecrãs do navegador e ver registos do navegador. O objeto é uma app local, não um varrimento de um sítio remoto sem nome.

Encaixa melhor se for escrever scripts nativos de Python Playwright e gerir o ciclo de vida do servidor com scripts auxiliares. O material de origem não dá lista de produtos de agentes nem instalador; não invente um caminho de repositório. A página oficial de descrição é

https://raw.githubusercontent.com/anthropics/skills/main/skills/webapp-testing/SKILL.md

Concluir a primeira tentativa em 3 minutos

O primeiro caminho recomendado é ver o uso dos scripts auxiliares, não abrir o navegador. O material de origem nomeia scripts/with_server.py para o ciclo de vida do servidor (suporta vários servidores) e exige: Always run scripts with --help first.

Pré-requisito: o ambiente atual consegue executar esse helper. Primeiro passo de baixo risco:

scripts/with_server.py --help

Sinal de sucesso: o uso é impresso e o servidor ainda não foi levantado. É ajuda só de leitura. Não leia primeiro o código do helper para adivinhar parâmetros — o resumo diz --help primeiro, não ler o código primeiro.

Se a ajuda se percebe e confirma que vai testar uma app local, então escreva o script Playwright. Tem de usar sync_playwright e arrancar o chromium em headless: browser = p.chromium.launch(headless=True). Arrancar o servidor e abrir uma página mudam o ambiente e podem escrever registos; confirme que o alvo é a sua app local antes de executar. O resumo diz testar contra localhost depois de o helper arrancar, mas o excerto não escreve um número de porta; não invente um endereço.

Casos de uso

Caso 1: com o helper e um servidor local, uma passagem só de leitura. Primeiro --help; chame scripts/with_server.py só depois de confirmar os parâmetros. No script abra chromium headless com sync_playwright. Critério de concluído: o navegador arrancou em modo headless e ainda não fez uma ação destrutiva na página. O material de origem admite capturas e ver registos; ambos são relativamente reversíveis. Antes de escrever um ficheiro, confirme o caminho das capturas.

Caso 2: app dinâmica segundo «primeiro reconhecer, depois operar». Ordem: navegar e esperar networkidle; captura ou inspeção do DOM; identificar seletores a partir do render; depois operar com os seletores encontrados. O material de origem deixa claro não inspecionar o DOM numa app dinâmica antes de networkidle; o correto é esperar page.wait_for_load_state('networkidle') e só depois inspecionar. Critério de concluído: consegue apontar que a espera ocorre antes da inspeção. Não clique num seletor não confirmado antes de a rede estar idle.

Limites de uso

Cobre apenas testes Playwright de uma app Web local. chromium sempre headless. O helper começa por --help. Uma app dinâmica deve chegar a networkidle antes de ver o DOM.

Não invente instalador, caminho de repositório nem uma porta localhost que não foi escrita. O material de origem não dá lista de clientes nem como usar noutro sítio não local. Além deste helper, arranque headless e ordem de reconhecimento, este guia não cobre.