Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Cypress após autenticação

Olá pessoal, concluí o curso e consegui aproveitar bastante coisa, mas estou com dúvida que está me travando a aplicação do conteúdo num caso real. Tenho uma aplicação com autenticação própria com IdentityService que funciona de forma bem parecida com a autenticação social com Google, Facebook, etc, que redireciona o usuário para um outra aplicação onde será feito o login efetivamente. Minha dúdida é como devo considerear essa etapa de login nos meus testes. Consigo realizar o login, mas acaba dando um problema de 'origin' após esta etapa. Se tento navegar para outra página que esteja protegida a minha autenticação inicial não funciona, mesmo que a coloque como beforeEach. Se alguém puder me ajudar, me dá um dica, uma luz, vou ficar muito feliz. Abraço!!!

1 resposta
solução!

Oi Fernando, tudo bem?

Fico feliz em saber que você concluiu o curso e está aplicando o conteúdo em um caso real. Entendo que você está enfrentando dificuldades ao lidar com a etapa de login em seus testes no Cypress.

Uma possível solução para esse problema é utilizar o comando cy.request() do Cypress para realizar o login diretamente na API de autenticação, em vez de depender do redirecionamento para outra aplicação. Dessa forma, você pode obter o token de autenticação e armazená-lo em um cookie ou no localStorage do Cypress para ser utilizado nas demais requisições.

Aqui está um exemplo de como você pode fazer isso:

beforeEach(() => {
  cy.request({
    method: 'POST',
    url: 'https://sua-api-de-autenticacao.com/login',
    body: {
      username: 'seu-usuario',
      password: 'sua-senha'
    }
  }).then(response => {
    const token = response.body.token;
    cy.setCookie('token', token); // ou cy.setLocalStorage('token', token);
  });
});

it('deve acessar uma página protegida após o login', () => {
  cy.visit('https://sua-aplicacao.com/pagina-protegida');
  // realizar asserções ou interações na página protegida
});

Dessa forma, o token de autenticação será enviado automaticamente nas requisições subsequentes, permitindo que você acesse as páginas protegidas após o login.

Espero que essa dica seja útil para você.

Ah esse curso recebeu uma atualização, você pode verificar aqui:

Um abraço e bons estudos.