Introdução ao Projeto
##
🧩 Sobre Visão SistemaGeral
Este projeto automatizade osautomação testestem como foco testar, validar e garantir o funcionamento de um sistema **PDV (Ponto de Venda)** completo, utilizado por empresas para realizar operações comerciais integradas com amúltiplos retaguarda.módulos integrados. O sistema é **100%desenvolvido baseadocom na web (nuvem)** e possui interface construída sobre o framework **Sencha ExtJS 4.2**2 e executado totalmente via web (cloud), permitindo acesso remoto com arquiteturafuncionalidades modularrobustas voltadas para o varejo e altamentegestão interligada.
## 🧱 Módulos Atendidosempresarial.
A automação cobreé osconstruída principaiscom Cypress, focada em testes end-to-end de alta confiabilidade.
🗂️ Estrutura Modular do Sistema
O sistema é composto por diversos módulos doprincipais, sistema:todos integrados entre si:
-
-PDV**📄(Ponto de Venda):
Responsável pelas vendas e operações em tempo real. -
Módulo Fiscal:
**
LidaEmissãcom geraçãoe cancelamentodecuponsnotas fiscais, integração comSAT/NFC-a SEFAZ, CF-e,geraçãoNFe,decupons,XMLscancelamentos econtrolescontrole tributários.rio. -
Parceiros:
- **👥 Módulo de Parceiros:** Cadastro, consulta e ediçãGestão de clientes, fornecedores etransportadoras.demais entidades relacionadas a transações. -
Financeiro:
-Gera**💰eMódulo Financeiro:** Fluxo de caixa,controla contas a pagar/receber, aprovaçãoões, fluxos devalorescaixa eoperaçconciliaçõesdebancárias.cobrança. -
Estoque:
- **📦 MóduloControle deEstoque:**entrada,Entradasaída, movimentações, inventário esaídaprodutos.de
Cada demódulo saldos,pode movimentaçõesincluir, editar, consultar e inventário.-validar **🛍️registros Módulocom deregras Vendasespecíficas, (PDV):**mas Operaçõestodos decompartilham vendadados em tempo real, autenticação com PIN, cancelamentosreal e reimpressões.interdependência funcional.
Esses
##
🎯 Objetivo da Automação
A automação combusca **Cypress**garantir temque como objetivos principais:
- ✅ Aumentar a confiabilidade nas rotinasações críticas de negócio.-cio ✅funcionem Detectarconforme falhaso esperado em diferentes cenários, como:
-
Cadastro e edição de produtos/parceiros.
-
Processos de venda e emissão fiscal.
-
Movimentações financeiras integradas com
antecedênciaoapósestoque. -
Regras condicionais de fluxo (ex: liberar venda com estoque negativo, validar tributação, etc.).
Além disso, o projeto tem como objetivo:
-
Evitar regressões em atualizações de
componentes.-versão.✅ -
que os fluxos ponta a ponta funcionem corretamente.- ✅Reduzir
aonecessidaderetrabalho manual em testes repetitivos. -
Fornecer uma base confiável para homologação e validação contínua.
🛠️ Tecnologias e Arquitetura
-
Frontend: Sencha ExtJS 4.2
-
Backend: PHP (REST), SQL, integração com sistemas fiscais
-
Automação: Cypress 12+, Node.js
-
Execução: local, CI/CD via Jenkins ou similar
-
Ambientes: HMG (homologação), DEV, PRD
-
Testes: baseados em ações visuais, fluxo do usuário e simulação de operações reais
🚀 Recomendações Futuras
-
Atualização da stack frontend:
Avaliar migração gradual de Sencha 4.2 para soluções modernas (React, Vue), mantendo compatibilidade e modularização. -
Uso de dados mockados ou factories:
Reduzir dependência de dados fixos via banco, permitindo testes isolados e dinâmicos. -
Separação de ambientes por tipo de teste:
-
Ambiente leve para testes E2E rápidos
-
Ambiente completo para testes de integração fiscal e financeiro
-
-
Adoção de boas práticas de QA contínuo:
-
Cobertura de testes
manuaisporrepetitivos.- ✅ Documentar comandos e padrões para facilitar onboarding e manutenção.módulo -
##Execução🛠️automáticaTecnologiasporUtilizadasfeature/pull request -
- **Cypress** para testes end-to-end (E2E)- **Sencha ExtJS 4.2** como framework da interface- **Node.js** como runtime dos testes- **BookStack** como repositório de documentaçIntegração- Integraçõescom**Jenkins** ou **GitHub Actions** para CI/CD## ⚙️ Características Técnicas- O sistema utiliza **componentes dinâmicos e aninhados** do ExtJS (grids, comboBoxes, menus flutuantes, etc).- O Cypress acessa elementos com **seletores CSS complexos**, encapsulados em `Cypress.env()` para organização e reuso.- **Comandos personalizados (`Cypress.Commands`)** são amplamente utilizados para login, navegação e manipulação de elementos.## 🚀 Escopo Atual da AutomaçãoA cobertura atual inclui:- Autenticação de usuários (PDV, Caixa, Retaguarda)- Abertura e finalização de vendas- Emissão e cancelamento de cupons fiscais- Cadastro e manutenção de parceiros- Controle de estoque: entrada, movimentação, saída- Contas a pagar/receber, fluxo de caixa e aprovações## 🧭 Próximos Passos- Expandir cobertura para cenárelatórios deexceção-coberturaUtilizaremassa dinâmicaanálise dedadosfalhasvia
API-Integrar -