¿Cómo pruebas localhost sin un túnel?
Apunta BASE_URL a tu app en localhost o a una URL de staging privada. El motor de Nexus arranca la app antes de la ejecución, espera a que responda, corre las pruebas y la detiene al terminar, sin túnel, sin URL de staging expuesta y sin que ningún dato de prueba salga de tu red.
Por el equipo de Nexus Studio, Verdict System LLC. 27 de octubre de 2026.
¿Por qué una grid en la nube necesita un túnel?
Una grid alojada ejecuta sus navegadores en sus propios servidores, así que solo llega a una app de tu máquina por un túnel o por una URL de staging pública. Nexus Studio ejecuta los navegadores en la máquina que tiene tu app, de modo que la prueba y la app se hablan tal como están, en localhost o en una URL de staging privada.
¿Cómo ejecuta el motor tu app?
- Un servidor de desarrollo que se queda corriendo tras las pruebas.
NEXUS_APP_STARTarranca tu app antes de cada ejecución y la detiene con todo su árbol de procesos cuando la ejecución termina, falla o se interrumpe, incluido Ctrl+C. - Una ejecución en verde contra una app que nunca arrancó. La ejecución espera a que responda la URL de listo, con cualquier estado por debajo de 500, consultada cada 0,5 s. Si la app no puede arrancar, la ejecución no empieza:
CONFIG_ERROR APP_DID_NOT_START, con sus últimas 40 líneas de log. - Una segunda copia de una app que ya está arriba.
NEXUS_APP_REUSE=trueusa una app que ya responde y la deja corriendo;falsedetiene la ejecución si otra cosa responde ahí. - Un resultado que nadie puede atar a una compilación. Cada ejecución registra la versión del package.json de tu app y el commit de git que probó.
¿Qué cambia en Docker y por SSH?
En Docker la app sigue corriendo en esta máquina, y el contenedor llega a un BASE_URL de localhost como host.docker.internal. Por SSH la app arranca en el host remoto.
¿Qué configuras?
Un programa y sus argumentos, sin shell: npm run dev, pnpm dev o node server.js. nexus app check, o Test it en el Studio, arranca la app, la espera y la detiene. Todo el log queda en evidence/run-context/.
¿Cuáles son los límites?
- El comando de arranque es un programa con sus argumentos y sin shell, así que los operadores de shell como
&&no se aplican. Pon una secuencia más larga en un script y arranca ese script. - Por SSH, localhost significa el host remoto: la app arranca ahí, no en la máquina que tiene el Studio.
¿Dónde puedo leer más?
La página de infraestructura propia compara un PC, un mini PC, Docker y un servidor alquilado, y dice cuánto cuesta cada uno. La página de confianza lista la única conexión que el Studio hace por sí solo, y la guía de Playwright autoalojado explica cómo correr las mismas pruebas en Docker o en un servidor Linux.