Olá, Cristian e Fabiano!
Em primeiro lugar, parabéns por terem notado essas diferenças e gostaria de esclarecer que a ideia dos exercícios, para além da prática, é trazer mais funcionalidades do Cypress. A ferramenta é gigantesca e é interessante explorar seus recursos.
Vamos entender juntos a dúvida sobre o uso do .should('eq', 'AdoPet')
no código!
No Cypress, o comando .should('eq', 'AdoPet')
é usado para fazer uma asserção, ou seja, verificar se um valor específico é igual a outro valor esperado. No seu caso, você está verificando se o título da página (cy.title()
) é igual a "AdoPet".
Aqui está um exemplo prático para ilustrar melhor:
it('deve clicar no botão ‘Ver pets disponíveis para adoção”', () => {
cy.visit('https://adopet-frontend-cypress.vercel.app/');
cy.title().should('eq', 'AdoPet'); // Verifica se o título da página é 'AdoPet'
cy.contains('a', 'Ver pets disponíveis para adoção').click(); // Clica no link com o texto específico
});
Nesse trecho, o cy.title()
obtém o título da página e o .should('eq', 'AdoPet')
verifica se esse título é exatamente "AdoPet". Isso é diferente de selecionar elementos HTML como p
ou a
, que são usados para localizar e interagir com elementos específicos na página.
Para comparar, veja como você verifica a visibilidade de um parágrafo:
it('Verifica mensagem de texto', () => {
cy.contains('p', 'Quem ama adota!').should('be.visible'); // Verifica se o parágrafo com o texto específico está visível
});
Aqui, cy.contains('p', 'Quem ama adota!')
localiza um parágrafo (p
) que contém o texto "Quem ama adota!", e o .should('be.visible')
verifica se esse parágrafo está visível na página.
Espero que isso tenha esclarecido a diferença entre usar eq
para asserções e selecionar elementos HTML como p
ou a
. Bons estudos e continue praticando!
Espero ter ajudado e bons estudos!