1
resposta

[Dúvida] Dúvida teste no Cypress

Bom dia, estou com duvidas na hora de rodar o teste, ja reescrevi o codigo e continua a dar o mesmo erro, o que posso fazer ?

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Olá Samuel, boa tarde! Tudo joia?

Pelo que observei na imagem do erro, parece que o Cypress não está conseguindo encontrar o elemento com o data-test="input-loginEmail". Isso pode ser causado por alguns motivos comuns. Vamos verificar algumas soluções possíveis:

  1. Espere o elemento carregar: Pode ser que o elemento ainda não esteja disponível no momento em que o Cypress tenta acessá-lo. Você pode adicionar um comando de espera para garantir que o elemento esteja presente antes de interagir com ele. Por exemplo:

    cy.get('[data-test="input-loginEmail"]', { timeout: 10000 }).should('be.visible').type(email);
    
  2. Verifique se a página está correta: Confirme se a URL da página que você está visitando no teste está correta e se o botão de login está funcionando como esperado para levar você à página de login.

  3. Verifique se o comando personalizado está correto: No seu código, você está usando um comando personalizado cy.login(). Verifique se esse comando está implementado corretamente e se os seletores dentro dele estão corretos.

Aqui está um exemplo de como você pode ajustar o seu comando personalizado para incluir uma espera:

Cypress.Commands.add('login', (email, senha) => {
    cy.get('[data-test="input-loginEmail"]', { timeout: 10000 }).should('be.visible').type(email);
    cy.get('[data-test="input-loginPassword"]', { timeout: 10000 }).should('be.visible').type(senha);
    cy.get('[data-test="submit-button"]', { timeout: 10000 }).should('be.visible').click();
});

Experimente essas sugestões e veja se alguma delas resolve o problema. Se o erro persistir, pode ser útil verificar todo o seu código, então peço que compartilhe ele através do GitHub ou Drive do Google.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.