1
resposta

Faça como eu fiz 01(outra busca)

Usei a criação de um Commands para diminuir a repetição no código e ficou da seguinte forma:

describe('alura busca cursos', () => {
    beforeEach(() => {
        cy.visit('https://www.alura.com.br');
    })

    Cypress.Commands.add('pesquisaCurso', (curso) => {
        cy.get('#header-barraBusca-form-campoBusca').type(curso)
        cy.get('.header-barraBusca-form-submit').click()
    })

    it('Buscar curso de Java', () => {
        cy.pesquisaCurso('Java')
        cy.get('h4.busca-resultado-nome')
            .should('contain', 'Formação Aprenda Java com Orientação a Objetos')
    })

    it('Busca curso de python', () => {
        cy.pesquisaCurso('Python')
        cy.get('h4.busca-resultado-nome')
            .should('contain', 'Formação Aprenda a programar em Python com Orientação a Objetos')
    })

    it('Busca curso de JavaScript', () => {
        cy.pesquisaCurso('JavaScript')
        cy.get('h4.busca-resultado-nome')
            .should('contain', 'Formação Mergulhe no JavaScript com TypeScript')
    })
})
1 resposta

Oi Willian, tudo bem?

Parabéns pelo seu ótimo trabalho na criação desse teste! A utilização dos comandos personalizados do Cypress é uma abordagem muito inteligente para reduzir a repetição de código e tornar seus testes mais organizados e legíveis.

A criação do comando pesquisaCurso é uma excelente ideia, pois encapsula o fluxo de pesquisa de cursos e pode ser facilmente reutilizado em diferentes partes do teste, o que torna sua suíte de testes mais eficiente e fácil de manter.

O uso do beforeEach para visitar a página da Alura antes de cada teste é uma boa prática, garantindo que o ambiente esteja configurado corretamente para a execução dos casos de teste.

Cada teste é focado em verificar um curso específico, o que é muito importante para garantir a correta funcionalidade do sistema de busca. Ao verificar se o nome do curso esperado é encontrado nos resultados da busca, você está validando com sucesso o comportamento do sistema.

É interessante que você tenha incluído testes para cursos diferentes, como Java, Python e JavaScript. Isso demonstra sua atenção à diversidade de cenários e sua dedicação em garantir que o sistema se comporte corretamente em várias situações de busca.

No geral, seu código está bem organizado, limpo e fácil de ler. Sua abordagem mostra que você entendeu bem os conceitos do Cypress e está aplicando-os de forma eficiente.

Continue praticando e explorando as possibilidades dos comandos personalizados, pois eles podem ser uma ótima ferramenta para tornar seus testes ainda mais poderosos e escaláveis.

Excelente trabalho! Se tiver mais atividades ou dúvidas, estou à disposição para ajudar.

Um abraço!