Como testar localhost sem um túnel?
Aponte BASE_URL para o seu app em localhost ou em uma URL de staging privada. O engine do Nexus inicia o app antes da execução, espera até que ele responda, executa os testes e o encerra depois, sem túnel, sem URL de staging exposta e sem dados de teste saindo da sua rede.
Pela equipe do Nexus Studio, Verdict System LLC. 27 de outubro de 2026.
Por que um grid na nuvem precisa de um túnel?
Um grid hospedado executa seus navegadores nos próprios servidores, então só consegue alcançar um app na sua máquina por meio de um túnel ou de uma URL de staging pública. O Nexus Studio executa os navegadores na máquina que hospeda seu app, de modo que o teste e o app se comunicam como estão, em localhost ou em uma URL de staging privada.
Como o engine executa seu app?
- Um servidor de desenvolvimento deixado ativo depois dos testes.
NEXUS_APP_STARTinicia seu app antes de cada execução e o encerra com toda a sua árvore de processos quando a execução termina, falha ou é interrompida, inclusive com Ctrl+C. - Uma execução verde contra um app que nunca iniciou. A execução espera até que a URL de prontidão responda, com qualquer status abaixo de 500, consultada a cada 0,5 s. Se o app não consegue iniciar, a execução nunca começa:
CONFIG_ERROR APP_DID_NOT_START, com as últimas 40 linhas de log. - Uma segunda cópia de um app que já está no ar.
NEXUS_APP_REUSE=trueusa um app que já responde e o deixa em execução;falseinterrompe a execução se outra coisa responder ali. - Um resultado que ninguém consegue associar a um build. Cada execução registra a versão do package.json do seu app e o commit do git que ela testou.
O que muda no Docker e via SSH?
No Docker, o app continua rodando nesta máquina, e o contêiner acessa um BASE_URL em localhost como host.docker.internal. Via SSH, o app inicia no host remoto.
O que você configura?
Um programa e seus argumentos, sem shell: npm run dev, pnpm dev ou node server.js. nexus app check, ou Test it no Studio, inicia o app, espera por ele e o encerra. O log completo fica em evidence/run-context/.
Quais são os limites?
- O comando de inicialização é um programa com seus argumentos e sem shell, portanto operadores de shell como
&&não se aplicam. Coloque uma sequência mais longa em um script e inicie esse script. - Via SSH, localhost significa o host remoto: o app inicia lá, não na máquina que hospeda o Studio.
Onde posso ler mais?
A página own-your-infrastructure compara um PC, um mini PC, Docker e um servidor alugado, e diz quanto cada um custa. A página de confiança lista a única conexão que o Studio faz por conta própria, e o guia de Playwright auto-hospedado explica como executar os mesmos testes em Docker ou em um servidor Linux.