Cypress.runner POST (abortado) com status code (blocked:other)

Essa é mais uma daquelas descobertas bem específicas de ambiente empresarial. Eu amo essas investigações e elas acontecem melhor quando são colaborativas com várias mãos, cada um ajudando com o seu conhecimento, é maravilhoso!

Uma POC bem simples só para analisar o Cypress quanto a instalação, facilidade no uso com JavaScript e como ele se comporta com as nossas aplicações.

O erro que aconteceu foi na execução no Chrome do Cypress apontando para um ambiente de homologação e na hora de clicar no botão para fazer o login, as requisições POST foram abortadas, na aplicação do Cypress apareciam como POST (aborted) em vermelho. Abrindo F12 do Chrome e olhando o Network as requisições POST estavam com status code (blocked:other) e com ERR_BLOCKED_BY_CLIENT.

Uma busca rápida no google nos mostrou esse resultado no github da Cypress, que está sem resposta.

Github do Cypress com a issue do Forcepoint e Post abortado

Dependendo do ambiente empresarial que você está, pode ser mais fácil ou mais difícil configurar um ambiente pra uma POC, eu nunca experimentei o mais fácil rss. São muitos mecanismos de segurança, avaliações da equipe de segurança com cada biblioteca, framework que precisar usar. E esses mecanismos de segurança independem se você é admin ou não na máquina, ainda existem outros recursos do Windows que te colocam em grupos de políticas com o que pode ou não pode executar.

Então, com essa informação do Forcepoint, o nosso primeiro teste foi: Rodar o mesmo script em uma máquina que não tenha o Forcepoint e Funfou!

Outro teste que pensamos foi: Rodar o Playwright para saber se ele poderia ser uma alternativa caso o Cypress não pudesse. Sem êxito, outros blocks 😀

Depois de fatiar o problema e puxar uma linha de pensamento com o Forcepoint, começamos outra investigação. A equipe de segurança entrou em contato com a Forcepoint (a importância de um bom suporte) que disponibilizou outra versão da aplicação e um outro certificado de segurança para testarmos. Não funcionou, o mesmo block acontecia.

Na espera, descobri outros times com o mesmo problema! E estavam usando o Electron como forma alternativa ao Chrome e funcionava.

Depois de conversar com o time do Forcepoint, novos dados foram solicitados: domínio, ip do post bloqueado. Uma nova versão foi gerada e instalada. Dessa vez funcionou em 2 máquinas e no restante não.

A investigação já dura quase 1 mês com muitas mãos. Já estamos até considerando usar outro framework para rodar os nossos testes em algumas aplicações específicas.

Já passaram por isso ou estão passando? Por aqui, vamos prosseguindo na investigação!

Até mais!

Publicado por Katiana Maia

Katiana Maia é QA desde pequena, só não sabia disso. Em 2015 entrou de cabeça na área e mergulhou de vez. É multiplicadora da cultura da qualidade e testes e gosta de ajudar as pessoas a entenderem o valor deles. Já palestrou em eventos como o TDC em SP e o DevOps Summit Brasil na Microsoft. É coordenadora do Meetup GaroaQA Rio que colabora com a comunidade para uma troca de experiências reais. Apaixonada pela história do Walt Disney e a cultura de excelência que se mantém até hoje.

Deixe um comentário