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! 🎉

Um comentário em “Como digitar e pressionar ENTER com Cypress

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