O comando cy.wait está falhando no teste. Tentei coloquei timeout mas ainda assim não funciona. Poderiam me ajudar?
O comando cy.wait está falhando no teste. Tentei coloquei timeout mas ainda assim não funciona. Poderiam me ajudar?
Oi Joyce! Tudo bem?
O erro indica que o Cypress não conseguiu encontrar a requisição correspondente para a rota stubPost
dentro do tempo limite. Aqui estão algumas sugestões para resolver o problema:
Verifique a URL e o método: Certifique-se de que a URL e o método HTTP no cy.intercept()
estão corretos e correspondem exatamente ao que a aplicação está enviando.
Confirme a Interceptação: Verifique se a interceptação está sendo configurada antes de qualquer ação que possa disparar a requisição. O cy.intercept()
deve estar no beforeEach()
ou antes do comando que dispara a requisição.
Ajuste o Timeout: Caso a requisição esteja demorando mais do que o esperado, você pode aumentar o timeout do cy.wait()
:
cy.wait('@stubPost', { timeout: 10000 }) // 10 segundos
Verifique o Nome do Alias: Certifique-se de que o nome do alias (@stubPost
) está correto e que não há erros de digitação.
Espero que essas dicas ajudem a resolver o problema!
Bons estudos!
ajustei o meu assim e deu bom: colocando so o timeout não rolou
beforeEach(()=>{
cy.visit('https://adopet-frontend-cypress.vercel.app/');
cy.get('[data-test="login-button"]').click();
cy.intercept('POST', '**/login*', {
statusCode: 401,
body: { message: 'Falha no login. Consulte suas credenciais.' },
}).as('stubPost');
})
//bloco de verificaçao
it('Verificar mensagem de falha no login', () => {
cy.wait(3000);
cy.get('[data-test="submit-button"]').click();
cy.wait(3000);
cy.contains('É necessário informar um endereço de email').should('be.visible');
cy.contains('Insira sua senha').should('be.visible');
})
//bloco que mesmo com as informações certas vai apreesentar o resultado esperado
it('Deve falhar mesmo que os campos sejam preenchidos corretamente', ()=> {
cy.login('raphaelcp9022@gmail.com', 'Senha1234');
cy.wait('@stubPost', { timeout: 10000 });
cy.contains('Falha no login. Consulte suas credenciais.').should('be.visible');
})