4
respostas

[Dúvida] Como continuar o teste/fluxo quando é aberto uma nova aba no cypress

Como continuar o teste/fluxo quando é redicionado para uma nova aba no cypress sem perder o token/login para continuar o teste já iniciado na outra aba? Fiz a automação de login do site, e ao fazer o login é aberto uma nova aba fazendo assim perder o login de acesso. Como continuar o teste sem perder o login?

4 respostas

Olá, bom dia Italo, tudo certo?

Eu passei por uma situação igual, a única solução que achei foi remover o atributo target do item que eu ia acessar. Exemplo:

//buscando o ID do item, removendo atributo target e forçando o clique (Forcei o clique porque o item não tinha tamanho definido no DOM)  
cy.get("#item").invoke("removeAttr", "target").click({ force: true });

Se caso eu consegui te ajudar, poderia marcar aqui como solucionado? ;)

Bons estudos!

Diogo, muito obrigado pela resposta! Mas infelizmente não consegui, poderia me auxiliar?

Claro!

Lhe comentando que a função de abrir em nova aba, ela não é nativa do html, então tem algo que tá forçando ela a fazer isso, eu utilizei o comando do Cypress de .invoke("removeAttr", "target") porque no meu caso, era ele "Target" que tava fazendo essa função de abrir uma nova aba, com isso eu removi ele e o resto do teste passou, agora no seu caso tem de identificar qual o atributo está abrindo uma nova aba. Pode questionar aos desenvolvedores do projeto o que pode estar influenciando ou no F12(inspect) estar verificando o botão que está quebrando o teste e verificar os atributos dele. Vou deixar um imagem de exemplo: Imagem referenciando código com o atributo target "_blank"Qualquer coisa sigo a disposição!