Skip to content

Automação com Cypress em BDD com modelo page objects.

License

Notifications You must be signed in to change notification settings

DiegoJOFernandes/challengeA

Repository files navigation

challengeA

Software automation challenge A

Cypress Javascript Cucumber Prettier

Configuração

  1. Após clonar este repositório, execute o comando no terminal:
npm i
  1. Para executar os testes em modo headless:
npm run headless
  1. Para executar os testes no modo interativo com a interace gráfica do cypress:
npm run e2e

Estrutura

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

Fontes e plugins

Cenários

Register
User fills out insurance claim form

About

Automação com Cypress em BDD com modelo page objects.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages