Este repositório contém testes automatizados para a aplicação de internet banking usando Cypress e JavaScript. O objetivo do projeto é validar o fluxo de login e transferência de valores com uma automação confiável, organizada e reutilizável.
- Automação de interface web com Cypress.
- Estrutura de testes organizada em
cypress/e2e/. - Comandos customizados centralizados em
cypress/support/commands/. - Relatórios gerados com
cypress-mochawesome-reporter. - Testes desenvolvidos para a aplicação web e API do projeto Banco.
package.json: dependências e scripts do projeto.cypress/e2e/login.cy.js: testes de login válidos e inválidos.cypress/e2e/transferencia.cy.js: testes de transferência de valores.cypress/support/commands.js: importa comandos customizados.cypress/support/commands/common.js: comandos reutilizáveis, como seleção de opção em combobox e verificação de toast.cypress/support/commands/login.js: comandos de login com diferentes cenários de credenciais.cypress/support/commands/transferencia.js: comando de transferência de valores.cypress/fixtures/credenciais.json: dados de login usados nos testes.
Para executar os testes, é necessário ter em funcionamento:
- A API do banco: https://github.com/juliodelimas/banco-api
- A aplicação web do banco: https://github.com/juliodelimas/banco-web
Além disso, é preciso ter instalado:
- Node.js
- npm
No diretório do projeto, execute:
npm installIsso instalará o Cypress e o cypress-mochawesome-reporter listados em package.json.
npm run cy:opennpm testnpm run test-qanpm run test-prodnpm run cy:headedOs testes no arquivo cypress/e2e/login.cy.js cobrem:
- Login com credenciais inválidas e verificação de mensagem de erro.
- Login com username inválido e verificação de mensagem de erro.
- Login com senha inválida e verificação de mensagem de erro.
- Login com credenciais válidas e verificação de acesso à tela de transferência.
Os testes no arquivo cypress/e2e/transferencia.cy.js cobrem:
- Transferência bem-sucedida com valores válidos.
- Falha de transferência ao tentar enviar mais de R$ 5.000,00 sem token.
Este projeto utiliza comandos customizados para simplificar a lógica de teste e melhorar a manutenção.
- Realiza login com credenciais válidas do arquivo
cypress/fixtures/credenciais.json.
- Tenta login com usuário válido e senha inválida.
- Tenta login com username inválido.
- Tenta login com usuário e senha inválidos.
- Realiza a transferência entre contas informadas.
- Usa o comando auxiliar
selecionarOpcaoNaComboBoxpara escolher as opções de conta.
- Verifica se a mensagem exibida no componente
.toastcorresponde ao texto esperado.
- Seleciona uma opção em um campo do tipo combobox baseado no
labeldo campo.
- Garanta que a API e a aplicação web estejam em execução antes de iniciar os testes.
- A URL padrão usada no script
npm testéhttp://localhost:4000/. - Caso queira usar outra URL local, ajuste a configuração do
baseUrlno comando ou nocypress.config.js.
- Cypress: https://www.cypress.io/
- cypress-mochawesome-reporter: https://github.com/adamgruber/cypress-mochawesome-reporter
- Mentoria Júlio de Lima