Oi Márcio, tudo bem?
Desculpe a demora em retornar.
Pelo que entendi, você está enfrentando um problema de timeout ao executar o Cypress e verificar se um elemento contém um determinado texto. O erro que você está recebendo é: "Timed out retrying after 4000ms: expected '[ <h4.busca-resultado-nome>, 24 more... ]' to contain 'Formação Aprenda a programar em Java com Orientações a Objetos'".
Esse erro ocorre porque o Cypress não conseguiu encontrar o texto esperado dentro do elemento selecionado. Isso pode acontecer por diversos motivos, como atraso na renderização da página ou problemas na identificação do elemento.
Uma possível solução para esse problema é adicionar um tempo de espera antes de verificar se o elemento contém o texto desejado. Você pode usar o comando cy.wait()
para aguardar um determinado período de tempo antes de fazer a verificação. Por exemplo:
it('buscar curso de java', () => {
cy.get('#header-barraBusca-form-campoBusca').type('java');
cy.get('.header-barraBusca-form-submit').click();
cy.get('h4.busca-resultado-nome')
.should('be.visible')
.then(() => {
cy.wait(2000); // Aguarda 2 segundos antes de fazer a verificação
cy.get('h4.busca-resultado-nome')
.should('contain', 'Formação Aprenda a programar em Java com Orientações a Objetos');
});
})
Dessa forma, você está dando um tempo extra para que o elemento seja renderizado corretamente antes de fazer a verificação. Lembre-se de ajustar o tempo de espera de acordo com a velocidade de carregamento da página.
Espero que essa sugestão possa te ajudar a resolver o problema.
Ah esse curso recebeu uma atualização, você pode verificar aqui:
Um abraço e bons estudos.