A série “pitadas de Cypress” está com tudo!

Hoje você vai aprender como garantir que seus testes se comportam da mesma forma quando executados diversas vezes.

O Cypress é um framework de testes fantástico!

Ele empacota junto com ele várias outras bibliotecas famosas para faciliar a vida de seus usuários, ou seja, a sua vida!

Uma dessas bibliotecas é o lodash.

Basta usar

Cypress._

E você poderá invocar qualquer funcionalidade do lodash. 🤩

Dentre as diversas funcionalidades do lodash, uma que se “encaixa como uma luva” para o problema que queremos resolver é o .times.

Um exemplo facilitaria o endendimento, não?

Então vamos lá!

Cypress._.times(5, () => {
  it.only("submete o formulário com sucesso", () => {
    const customer = {
      firstName: "João",
      lastName: "Silva",
      email: "joaosilva@example.com"
    };

    cy.fillMandatoryFields(customer);
    cy.contains("Enviar").click();

    cy.get(".success p").should("contain", "Formulário submetido com sucesso.");
  });
});

Após executar o teste acima, tenho o seguinte resultado

Aplicação exemplo
  ✓ submete o formulário com sucesso (1725ms)
  ✓ submete o formulário com sucesso (1212ms)
  ✓ submete o formulário com sucesso (1200ms)
  ✓ submete o formulário com sucesso (1195ms)
  ✓ submete o formulário com sucesso (1256ms)


5 passing (8s)

Como pode-se perceber, meu teste parece estável e passou 5 vezes seguidas. Yay! 🎉

Problema resolvido!


E aí? O que está achando da série?

Estou coletando feedback e criando um backlog para os próximos posts. Deixa um comentário com o que gostaria que eu abordasse em um conteúdo futuro.


Este conteúdo foi traduzido para inglês e pode ser encontrado no DEV Community.


Quer aprender automação de testes com Cypress na prática? Conheça meus cursos na Escola Talking About Testing, ou no Udemy.

Um comentário em “Como rodar um teste várias vezes com Cypress para provar que ele é estável

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s