Fixtures do Cypress para testes

Fixtures do Cypress para testes

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:

Please follow and like us:
Pin Share