Rodar os testes no CI
Os testes são arquivos Playwright comuns: rodam no GitHub Actions sem o KraniQA.
O workflow que o app cria
"Inicializar Playwright" grava .github/workflows/playwright.yml (só se ele
ainda não existir). A cada push e pull request em main ou
master, ele instala as dependências e o Chromium, roda
npx playwright test e guarda o relatório HTML como artefato por 30 dias. No
CI, cada teste que falha é tentado de novo até 2 vezes, e o trace é gravado na nova
tentativa.
1. A URL do site
No GitHub: Settings → Secrets and variables → Actions → aba Variables →
New repository variable, com o nome BASE_URL e a URL do ambiente que o CI
deve testar (por exemplo, o staging). O workflow já a lê como
vars.BASE_URL.
2. As credenciais
Cada @secret:nome vira KRANIQA_SECRET_NOME no teste. Cadastre
cada uma na aba Secrets com esse mesmo nome e acrescente as linhas no
env do passo "Run Playwright tests" do workflow, que hoje só passa a URL:
- name: Run Playwright tests
run: npx playwright test
env:
BASE_URL: ${{ vars.BASE_URL }}
KRANIQA_SECRET_QA_USER: ${{ secrets.KRANIQA_SECRET_QA_USER }}
KRANIQA_SECRET_QA_PASSWORD: ${{ secrets.KRANIQA_SECRET_QA_PASSWORD }}
Não precisa escrever à mão: em Configurações → Ambientes & credenciais, o botão copiar para o CI de cada ambiente copia esse bloco com as credenciais dele. Os valores não vão junto; eles você cadastra nos secrets do GitHub.
3. Login
O login salvo da aba (auth/state.json) não vai para o git, então no CI os
testes começam deslogados. Os que dependem de login precisam entrar com as credenciais
acima. Veja Credenciais.
Passa no app e falha no CI?
- Idioma, datas e moeda: o
playwright.config.tsgerado fixalocale: 'pt-BR'etimezoneId: 'America/Sao_Paulo', então o CI vê o site como você. Se o seu config é antigo ou foi escrito à mão, confira essas duas linhas. - Outro navegador: o workflow instala só o Chromium. Se o ambiente usa Firefox ou WebKit, troque
chromiumno passo "Install Playwright Browsers" e definaKRANIQA_BROWSERnoenv. - Deslogado: veja o passo 3.
- Dados que mudam: um teste que confere "3 itens" quebra quando alguém cria o quarto. Prefira conferir o que o próprio teste criou.