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

No packages published