Hoje em “pitadas de Cypress”, aprenda como testar uma funcionalidade de busca como um usuário real
Quando escrevemos testes end-to-end, é importante que os testes simulem o uso da aplicação da forma mais próxima à qual um usuário real faria.
Vejamos o site de busca DuckDuckGo como exemplo.
Quando um usuário faz uma busca, normalmente ele (ou ela) digita o que está procurando e então pressiona a tecla ENTER.
Obs.: Nada o(a) impede de digitar no campo de busca e pressionar o botão da lupa, mas normalmente, usuários usam a tecla ENTER.
Porém, ambos os cenários devem estar cobertos por testes, certo?
Vejamos como testar tais cenários com Cypress.
// search.spec.js describe('DuckDuckGo', () => { beforeEach(() => { cy.visit('http://duckduckgo.com') }) it('busca digitando e pressionando ENTER', () => { cy.get('#search_form_input_homepage') .should('be.visible') .type('Cypress.io{enter}') cy.get('.results') .should('contain', 'cypress.io') }) it('busca digitando e clicando na lupa', () => { cy.get('#search_form_input_homepage') .should('be.visible') .type('Cypress.io') cy.get('#search_button_homepage') .should('be.visible') .click() cy.get('.results') .should('contain', 'cypress.io') }) })
Como você pode perceber no primeiro teste (busca digitando e pressinando ENTER
), quando chamo o método type()
, além de passar o termo o qual quero buscar (cypress.io
), passo entre chaves o texto enter ({enter}
). Dessa forma, o Cypress vai digitar o texto e simular a tecla ENTER sendo pressionada.
🎉🎉🎉
No outro teste (busca digitando e clicando na lupa
) não tem nada de novo. Primeiro digito no campo, depois clico no botão da lupa.
Pronto!
A mensagem principal é, teste a aplicação como seus usuários reais à utilizam e cubra o maior número de cenários possíveis. Dessa forma, você terá segurança em modificar a aplicação e saber se tudo continua funcionando como esperado, ou se você quebrou algo e precisa corrigir antes de seguir adiante.
Para conhecer mais sobre a funcionalidade cy.type()
, recomendo a leitura da documentação oficial do Cypress.io.
E aí, gostou?
Deixa um comentário.
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, e bons testes! 🎉
Quando colo da forma q vc deu exemplo ao inves de dar enter eele digita “Cypress.io” e não da enter. Falta mais alguma configuração?
Oi Priscila,
Por favor, faça um commit do seu código (com todas suas mudanças), publique no GitHub (com um git push) e compartilhe o link do seu repositório para que eu possa baixar o código em meu computador e tentar reproduzir o problema. Dessa forma, mais facilmente poderei te ajudar.
Fico no aguardo.