Conhecimentos prévios
Cypress, Cucumber, BDD
Veja a aplicação no Slave One:
https://dev.to/marcela_lage_094e814c6a4e/documentacao-dos-testes-do-sistema-slave-one-2kmb
Fixtures
As fixtures do Cypress são dados estáticos que podem ser utilizados pelos testes. O arquivo é em formato JSON.
Intercept
O intercept é um comando do Cypress que pode ser usado para capturar, vigiar ou modificar uma requisição.
Link da documentação
Testes com os dados da fixture
Inicialmente, deve-se criar os arquivos de fixture que terão os dados utilizados na página.
A estrutura do JSON deve ser a mesma da resposta da requisição.
Para encontrar qual requisição interceptar, execute seu teste Cypress e observe-se no passo a passo qual requisição retorna os dados que pretende substituir.
Após, deve-se capturar e alterar a resposta usando o intercept:
O intercept
trocará a resposta da requisição https://localhost:3000/api/Function
pela fixture do arquivo Function
e o comando as
permitirá que o Cypress acesse essa ação pelo wait
para esperar que a mudança aconteça.
OBS: o intercept deve ser usado antes da requisição acontecer e o wait deve ser utilizado após. No exemplo, o clique de elements.functionPageBtn().click()
precede a requisição.
Dessa forma, os dados das fixtures estarão sendo utilizados para aplicação. Para que funcione sem nenhum dado, utilize o intercept em todas as requisições, mesmo aquelas que não retornam dados para apresentar na tela.
Exemplos:
Nessa função, são feitas duas interceptações. A primeira, retorna um JSON vazio para que a página entenda que a ação de deletar foi concluída com sucesso.
FunctionDeleteComplete.json
FunctionAfterDelete.json
Resultado final:
Top comments (0)