Qualidade em
todas as camadas
OmniQA e um framework de automação multi-plataforma que cobre Web, API, Mobile e Performance em um único monorepo — com TypeScript, CI/CD e relatórios visuais.
Uma base, quatro frentes
Cada plataforma vive em seu próprio módulo, com ferramentas especializadas e sem acoplamento entre camadas.
API Testing
Validação de contrato, status code, schema e tempo de resposta. Cobertura rápida e barata na base da pirâmide.
PlaywrightWeb E2E
Jornadas críticas com Page Object Model — login, carrinho, checkout e validações visuais de copy do inventário com evidências por etapa.
Playwright + ChromiumMobile
Automação mobile com Appium e Screen Objects por plataforma. Android e iOS seguem a mesma intenção de fluxo, com specs, seletores e particularidades separados por SO.
Appium + WebdriverIOPerformance
Testes de carga com VUs configuráveis, thresholds de p95 e relatório HTML com métricas de throughput e latência.
k6Arquitetura modular
Monorepo por plataforma — responsabilidades claras, sem acoplamento entre camadas.
tests-api/Contrato
- ├──
support/Contratos e validadores reutilizáveis - │ ├──
contracts.tsSchema esperado de cada endpoint - │ └──
apiAssertions.tsHelpers de validação - └──
jsonplaceholder.spec.tsSpecs de contrato e payload
tests-web/E2E Web
- ├──
pages/Page Object Model - │ ├──
LoginPage.tsAutenticação - │ ├──
InventoryPage.tsCatálogo - │ └──
CartPage.tsCarrinho e checkout - ├──
specs/Jornadas e validações visuais de copy - └──
support/Evidências e dados de teste
tests-mobile/Android + iOS
- ├──
android/Screen Object + seletores Android - │ ├──
screens/Telas automatizadas - │ └──
contactsSelectors.tsSeletores por plataforma - └──
ios/Espelho com seletores iOS - └──
mobileEvidence.tsScreenshots por etapa
tests-support/Compartilhado
- └──
evidence/Nomeação reutilizável de evidências - └──
evidenceName.tsID, etapa e timestamp
tests-performance/k6
- └──
jsonplaceholder-load.jsCarga com VUs e thresholds
scripts/Relatórios
- ├──
report-styles.tsDesign system compartilhado - ├──
generate-junit-report.tsResumo de execução - ├──
generate-performance-report.tsRelatório de performance - └──
regression.shOrquestrador com flags --skip-*
Padrões aplicados
Cada decisão de design tem um motivo — reuso, manutenção e clareza.
Page Object Model
Cada página da aplicação web tem uma classe dedicada. Os testes não tocam no DOM diretamente — toda interacao passa pela classe de página. Se um seletor muda, a correcao e feita em um único lugar.
Screen Object — Mobile
Equivalente ao POM para mobile. Android e iOS seguem o mesmo desenho de automacao, mas mantêm specs, Screen Objects e seletores separados para refletir as diferenças reais entre UiAutomator2 e XCUITest.
Support Layer
Cada módulo tem uma pasta support/ com responsabilidades distintas: dados de teste (*Data.ts), seletores (*Selectors.ts) e captura de evidências. A nomeação das evidências fica centralizada em tests-support/evidence para Web, Android e iOS.
Contract Testing
Os testes de API validam não apenas o status code, mas o schema do payload via contratos tipados em TypeScript. Qualquer mudanca inesperada no contrato quebra o teste antes de chegar ao E2E.
Pirâmide de Testes
Mais testes baratos e rápidos na base (API/contrato), menos E2E no topo (Web/Mobile). Performance como camada transversal. Cada camada valida o que não foi coberto pela camada abaixo.
Monorepo Modular
Uma única base de código, configuração e linguagem para todas as plataformas. Sem duplicidade de setup, sem troca de contexto entre repositorios. CI único para todas as camadas.
Pipeline CI/CD
GitHub Actions com runner Ubuntu gratuito. Dispara em todo push e pull request para main, mantendo o bypass das validações visuais demonstráveis habilitado na esteira.
Artefatos disponíveis na aba Actions por 30 dias · Mobile executado localmente
Comandos principais
Instalação separada por sistema operacional. Depois do setup, os comandos de execução são os mesmos no macOS e no Windows.