This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Pipeline Testes Automatizados Web Front ServeRest Playwright | |
# executa o workflow toda vez que for realizado um push ou pull-request no repositório | |
on: | |
push: | |
branches: [ "main" ] | |
pull_request: | |
branches: [ "main" ] | |
# permite também executar esse workflow manualmente na aba "Actions" do GitHub | |
workflow_dispatch: | |
jobs: | |
testes-automatizados-web-front-serve-rest-playwright-chrome: | |
# agente de execução/runner do tipo máquina virtual bem enxuta, sem interface gráfica | |
runs-on: ubuntu-latest | |
steps: | |
- name: Passo 1 - Obter cópia do código-fonte do repositório | |
uses: actions/checkout@v3 | |
- name: Passo 2 - Redirecionar os conteúdos de "secrets.LOGIN_ENV", "secrets.USUARIO_ENV", para os arquivos "login.json", "usuario.json", etc | |
run: | | |
echo '${{ secrets.LOGIN_ENV }}' > ./tests/support/fixtures/login.json | |
echo '${{ secrets.USUARIO_ENV }}' > ./tests/support/fixtures/usuario.json | |
- name: Passo 3 - Instalar node versão 18 | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 18 | |
- name: Passo 4 - Instalar dependências do projeto | |
# forçar, mesmo tendo possíveis conflitos, a instalação das dependências do projeto do arquivo "package.json" | |
run: npm install --force | |
- name: Passo 5 - Instalar navegadores do Playwright | |
run: npx playwright install --with-deps | |
- name: Passo 6 - Executar testes em modo headless (2º plano) em um ambiente de desenvolvimento e Gerar os resultados dos testes | |
run: npx playwright test --project=chromium | |
- name: Passo 7 - Armazenar os resultados dos testes em screenshots e vídeos | |
uses: actions/upload-artifact@v3 | |
# expressão condicional para que sempre seja executado independentemente dos resultados dos steps anteriores | |
if: ${{ always() }} | |
with: | |
name: playwright-screenshots-videos-chrome | |
path: ./test-results | |
# armazena por 30 dias | |
retention-days: 30 | |
- name: Passo 8 - Armazenar os resultados dos testes em relatório html | |
uses: actions/upload-artifact@v3 | |
if: ${{ always() }} | |
with: | |
name: playwright-relatorio-html-chrome | |
path: ./playwright-report | |
retention-days: 30 |