Skip to content

STORY: Inicia os testes robot framework #53

STORY: Inicia os testes robot framework

STORY: Inicia os testes robot framework #53

Workflow file for this run

name: Testes QA-Solar - CI
on:
pull_request:
branches:
- main
- main-workflow
workflow_dispatch:
jobs:
cypress-tests:
name: Cypress Testes QA-Solar
runs-on: ubuntu-latest
services:
postgres:
image: postgres:15
ports:
- 5432:5432
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: tests_base
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
steps:
- name: Checkout do repositório
uses: actions/checkout@v4
- name: Configurar Node.js
uses: actions/setup-node@v4
with:
node-version: 22
- name: Instalar dependências do Monorepo
run: yarn
- name: Configurar backend
run: chmod +x .github/scripts/run-seeders.sh && .github/scripts/run-seeders.sh
env:
DATABASE_URL: ${{ secrets.DATABASE_URL }}
JWT_SECRET: ${{ secrets.JWT_SECRET }}
- name: Iniciar backend
run: |
cd backend
nohup yarn api &
env:
DATABASE_URL: ${{ secrets.DATABASE_URL }}
JWT_SECRET: ${{ secrets.JWT_SECRET }}
- name: Iniciar frontend
run: |
cd frontend
nohup yarn serve &
- name: Executar testes Cypress
run: |
cd test/cypress
yarn cy:run
env:
API_URL: ${{ secrets.API_URL }}
BASE_URL: ${{ secrets.BASE_URL }}
- name: Salvar artefatos do Cypress
if: ${{ failure() }}
uses: actions/[email protected]
with:
name: cypress-artifacts
path: test/cypress/tests/e2e/misc/screenshots/
playwright-tests:
name: Playwright Testes QA-Solar
runs-on: ubuntu-latest
services:
postgres:
image: postgres:15
ports:
- 5432:5432
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: tests_base
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
steps:
- name: Checkout do repositório
uses: actions/checkout@v4
- name: Configurar cache do Yarn
uses: actions/cache@v4
with:
path: |
**/node_modules
~/.cache/yarn
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
- name: Configurar Node.js
uses: actions/setup-node@v4
with:
node-version: 22
- name: Instalar dependências do Monorepo
run: yarn
- name: Configurar backend
run: chmod +x .github/scripts/run-seeders.sh && .github/scripts/run-seeders.sh
env:
DATABASE_URL: ${{ secrets.DATABASE_URL }}
JWT_SECRET: ${{ secrets.JWT_SECRET }}
- name: Iniciar backend
run: |
cd backend
nohup yarn api &
env:
DATABASE_URL: ${{ secrets.DATABASE_URL }}
JWT_SECRET: ${{ secrets.JWT_SECRET }}
- name: Iniciar frontend
run: |
cd frontend
nohup yarn serve &
- name: Instalar navegadores para Playwright
run: |
cd test/playwright
yarn playwright install --with-deps chromium
- name: Executar testes Playwright
run: |
cd test/playwright
yarn play:run
env:
PLAY_API_URL: ${{ secrets.PLAY_API_URL }}
PLAY_BASE_URL: ${{ secrets.PLAY_BASE_URL }}
- name: Upload de relatório Playwright
if: ${{ failure() }}
uses: actions/[email protected]
with:
name: playwright-report
path: test/playwright/playwright-report/
retention-days: 30
robot-framework-tests:
name: Robot Framework Testes QA-Solar
runs-on: ubuntu-latest
services:
postgres:
image: postgres:15
ports:
- 5432:5432
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: tests_base
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
steps:
- name: Checkout do repositório
uses: actions/checkout@v4
- name: Configurar cache do Yarn
uses: actions/cache@v4
with:
path: |
**/node_modules
~/.cache/yarn
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
- name: Configurar Node.js
uses: actions/setup-node@v4
with:
node-version: 22
- name: Configurar Python
uses: actions/[email protected]
with:
python-version: 3.11
check-latest: true
- name: Instalar dependências do Monorepo
run: yarn
- name: Configurar backend
run: chmod +x .github/scripts/run-seeders.sh && .github/scripts/run-seeders.sh
env:
DATABASE_URL: ${{ secrets.DATABASE_URL }}
JWT_SECRET: ${{ secrets.JWT_SECRET }}
- name: Iniciar backend
run: |
cd backend
nohup yarn api &
env:
DATABASE_URL: ${{ secrets.DATABASE_URL }}
JWT_SECRET: ${{ secrets.JWT_SECRET }}
- name: Iniciar frontend
run: |
cd frontend
nohup yarn serve &
- name: Configurar Robot Framework
run: chmod +x .github/scripts/setup-dependencies.sh && .github/scripts/setup-dependencies.sh
- name: Criar ambiente virtual Python
run: |
cd test/robot
python3.11 -m venv venv
- name: Instalar dependências do Robot Framework e Browser
run: |
cd test/robot
source venv/bin/activate
pip install -r requirements.txt
rfbrowser init chromium > /dev/null 2>&1
- name: Executar testes Robot Framework
run: |
cd test/robot
source venv/bin/activate
make test-all
- name: Salvar relatórios Robot Framework
if: ${{ failure() }}
uses: actions/[email protected]
with:
name: robot-report
path: test/robot/results/reports/