1
resposta

Erro ao executar comando Cypress.env()

Comigo aconteceu o mesmo erro que da Nicole Api Adopet mensagens da APIfailed TEST BODY 1 requestGET 401 https://adopet-api-i8qu.onrender.com/mensagem/af50ba29-8fa2-414b-9b13-50f8a9393c00 CypressError cy.request() failed on:

https://adopet-api-i8qu.onrender.com/mensagem/af50ba29-8fa2-414b-9b13-50f8a9393c00

The response we received from your web server was:

401: Unauthorized

This was considered a failure because the status code was not 2xx or 3xx.

If you do not want status codes to cause failures pass the option: failOnStatusCode: false


The request we sent was:

Method: GET URL: https://adopet-api-i8qu.onrender.com/mensagem/af50ba29-8fa2-414b-9b13-50f8a9393c00 Headers: { "Connection": "keep-alive", "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36", "accept": "/", "accept-encoding": "gzip, deflate" }


The response we got was:

Status: 401 - Unauthorized Headers: { "date": "Tue, 25 Mar 2025 19:43:38 GMT", "content-type": "application/json; charset=utf-8", "transfer-encoding": "chunked", "connection": "keep-alive", "access-control-allow-credentials": "true", "access-control-expose-headers": "Authorization", "etag": "W/"4c-HPgXiatEDiiqxmdue+ndikRQzM4"", "rndr-id": "167ac522-4cd2-45d5", "vary": "Origin, Accept-Encoding", "x-powered-by": "Express", "x-render-origin-server": "Render", "cf-cache-status": "DYNAMIC", "server": "cloudflare", "cf-ray": "9260e5f8ab43f23f-GRU", "alt-svc": "h3=":443"; ma=86400" } Body: { "statusCode": 401, "message": "Erro de autenticação", "error": "Unauthorized" } Learn more

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeMudei a chamada para headers: Cypress.env(authorization) mas, mesmo assim não funcionou

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

1 resposta

Olá, Alexandra! Tudo bem?

Parece que o problema está na forma como você está tentando acessar a variável de ambiente authorization no seu código. Vamos revisar como isso deve ser feito:

  1. Verifique o arquivo cypress.env.json: Certifique-se de que o arquivo cypress.env.json está na raiz do seu projeto e que a chave authorization está corretamente definida, como no exemplo:

    {
      "authorization": "Bearer seu_token_aqui"
    }
    
  2. Acessando a variável de ambiente: No seu código, ao usar Cypress.env(), você precisa passar o nome da chave como uma string. Portanto, a linha correta deve ser:

    headers: {
      authorization: Cypress.env('authorization')
    }
    
  3. Verifique o .gitignore: Certifique-se de que o arquivo cypress.env.json está listado no .gitignore para que não seja enviado para o repositório.

  4. Reinicie o Cypress: Após fazer essas alterações, reinicie o Cypress para garantir que ele carregue as novas configurações.

Com essas correções, o seu teste deve conseguir acessar o token corretamente e evitar o erro 401 de autenticação. Caso não resolvam, peço que compartilhe todo o seu projeto comigo. Assim poderei testar ele para identificar o problema.

Espero ter ajudado e bons estudos!

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