Cypress mostra 401 não autorizado ao visitar a página

Cypress mostra 401 não autorizado ao visitar a página

Estou usando o Cypress para testar alguns aplicativos da web. A maioria dos endereços de páginas se comporta de forma completamente idêntica a quando eu os visito manualmente.

Porém, tenho algumas páginas que retornam um 401 - Não autorizado assim que as visito pelo Cypress. Essas páginas problemáticas são páginas de login simples com nome de usuário e senha, e o erro é gerado antes mesmo de eu começar a preencher os campos de nome de usuário/senha.

Já mudei entre os navegadores Chrome e Electron, mas não tive sorte até agora.

Alguém tem alguma ideia do que eu poderia tentar para superar esse problema 401? Não consigo encontrar nada útil no Google sobre o assunto.

Responder1

Eu tive o mesmo problema. Está relacionado a uma POSTsolicitação feita entre visitas que requer autenticação. Cypress desautoriza ÀS VEZES entre os testes, o que é um comportamento esquisito que não creio ser pretendido (há um relatório sobre isso, mas não com tantas informações quanto eles precisam, adicionarei mais informações ao tópico do GitHub o mais rápido possível).

Por enquanto, para resolver o problema, adicionei um cy.wait()antes de cada visita no teste, (principalmente daquela que estava falhando). Fez até a página me dar o 401erro, passar. Um exemplo simples é fornecido abaixo:

it('checks the xxx page', () => {
  cy.wait(20000)
  cy.visit('/page')
})

it('verifies xxx page is loaded', () => {
  cy.wait(10000)
  cy.get('element').should('contain', 'Header text')
})

Você também pode fazer uma solução alternativa (não tão recomendada) colocando as visitas no mesmo teste:

it('checks the xxx page', () => {
  cy.wait(20000)
  cy.visit('/page')

  cy.wait(10000)
  cy.get('element').should('contain', 'Header text')
  cy.visit('/anotherpage')
...
})

informação relacionada