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.

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!