Software automation challenge A
- Após clonar este repositório, execute o comando no terminal:
npm i
- Para executar os testes em modo headless:
npm run headless
- Para executar os testes no modo interativo com a interace gráfica do cypress:
npm run e2e
O projeto de automação desktop possui a seguinte estrutura:
- fixtures - Armazenamos dados que vão ser utilizados em nossos testes ex.: .json, .yml, .txt, .jgp. Os arquivos de fixture ficam localizados na pasta cypress/fixtures por padrão. mais sobre...
- e2e - Contém todos os arquivos de teste .feature e os steps do gherkin.
- common - Aqui podemos adicionar tags com @before e @after para preparar dados antes da execução dos cenários. Também adicionamos steps que são comuns em mais de um cenário de automação para reutilizar código e fazer mais com menos esse é o commons steps.
- nameFeature - Para padronizar nosso projeto no modelo POM(Page Object Model) e escrever cenários utilizando o gherkin temos que criar uma pasta com o nome da feature que vamos trabalhar e dentro dessa pasta criamos outro arquivo nomeado de steps.js nele vamos gerar os steps a partir do nosso BDD(.feature).
- .feature - Descrevemos cenários com a sintaxe gherkin, afim de explorar uma funcionalidade e atraves de ações chegar a um resultado esperado.
- support - Esta pasta contém commands.js. É possível personalizar comandos e chama-los em qualquer linha de código das pages objects e steps do cucumber.
- pages - Criamos pastas para organizar classes e métodos que vamos utilizar em nossas steps, para interagir com os elementos das WebPages.
- cypress.config.js - É usado para salvar diferentes configurações relacionadas ao Cypress, por exemplo. URL base, tempos limite de execução, etc. O comportamento padrão do Cypress pode ser modificado fornecendo parâmetros de configuração. mais sobre....
Para entender melhor como um projeto de automação cypress é estruturado, consulte a documentação oficial.
qa-amercado-site/
├──cypress/
| ├──fixtures/
| ├──e2e/
| | ├──common/
| | ├──nameFeature
| | | └──steps.js
| | └──nameFeature.feature/
| └──support/
| └──pages/
| └──namePageFeature/
| └──index.js
├──cypress.config.js
└──mobile.config.js
Register |
---|
User fills out insurance claim form |