Este conteúdo foi inicialmente publicado na Newsletter da Talking About Testing.
Neste conteúdo, vou te explicar algumas diferenças entre os comandos cy.get()
e cy.contains()
, do framework de testes automatizados web Cypress.io.
cy.get()
- Seleciona um ou mais elementos do DOM através do seletor passado como argumento
- Recebe como argumento um seletor CSS
- Pode ser usado em combinação com o
:contains()
do jQuery, para retornar vários elementos que contenham determinado conteúdo, visto que ocy.contains()
retorna só o primeiro elemento encontrado (ex.:cy.get('p:contains(abacate)') // encontra todos os parágrafos que contenham em seu conteúdo a string abacate, enquanto que um cy.contains('p', 'abacate') só retornaria um elemento, mesmo que mais parágrafos possuísem a string abacate)
)
cy.contains()
- Seleciona um elemento do DOM
- O elemento pode conter mais do que o texto passado como argumento, e ainda assim, é selecionado
- Pode receber só um argumento, sendo este o valor que deve ser contido no elemento HTML (ex.:
cy.contains('Login')
) - Ou, pode receber dois argumentos, para tornar a seleção mais específica, onde o primeiro argumento é um seletor CSS (ex.:
button
) e o segundo argumento é o valor que deve ser contido em tal elemento (ex.:cy.contains('button', 'Delete')
)
Existem outras diferenças, mas sabendo destas, você poderá tirar bastante proveito do que ambos os comandos podem oferecer.
Para saber mais sobre tais comandos, consulte a documentação oficial do Cypress.
Espero que tenha aprendido algo novo.
Escrevi um conteúdo relacionaado à este assunto chamado cy.get() vs. cy.contains(). Não deixe de conferir.
Ficou curioso(a) e quer aprender mais sobre automação de testes com Cypress? Conheça meus cursos no Udemy.
- Cypress básico
- Cypress intermediário
- Cypress avançado
- Boas práticas em automação de testes com Cypress
- Testes end-to-end com Cypress
- Testes de regressão visual com Cypress e Percy (básico)
👋 Até a próxima e bons testes!
Um comentário em “Diferenças entre os comandos cy.get() e cy.contains() do Cypress”