터널 없이 localhost를 어떻게 테스트하나요?
BASE_URL이 localhost 또는 비공개 스테이징 URL의 앱을 가리키도록 설정하세요. Nexus 엔진은 테스트 실행 전에 앱을 시작하고, 앱이 응답할 때까지 기다린 후 테스트를 실행하고 앱을 종료합니다. 터널이나 외부에 노출된 스테이징 URL이 필요 없으며, 테스트 데이터도 네트워크 밖으로 나가지 않습니다.
작성: Nexus Studio 팀, Verdict System LLC. 2026년 10월 27일.
클라우드 그리드에 터널이 필요한 이유는 무엇인가요?
호스팅형 그리드는 자체 서버에서 브라우저를 실행하므로, 사용자 컴퓨터의 앱에는 터널이나 공개된 스테이징 URL을 통해서만 접근할 수 있습니다. Nexus Studio는 앱이 있는 컴퓨터에서 브라우저를 실행하므로, 테스트와 앱은 localhost나 비공개 스테이징 URL에서 그대로 서로 통신합니다.
엔진은 앱을 어떻게 실행하나요?
- 테스트가 끝난 뒤에도 계속 실행되는 개발 서버.
NEXUS_APP_START는 매 실행 전에 앱을 시작하고, 실행이 끝나거나 실패하거나 Ctrl+C 등으로 중단되면 전체 프로세스 트리와 함께 앱을 종료합니다. - 시작되지도 않은 앱을 대상으로 통과한 테스트. 실행에 앞서 0.5초마다 준비 상태 확인 URL에 요청을 보내고, 500 미만의 상태 코드로 응답할 때까지 기다립니다. 앱을 시작할 수 없으면 테스트 실행도 시작되지 않습니다:
CONFIG_ERROR APP_DID_NOT_START, 마지막 로그 40줄이 함께 제공됩니다. - 이미 실행 중인 앱의 중복 실행.
NEXUS_APP_REUSE=true는 이미 응답하는 앱을 사용하고 종료하지 않습니다;false는 해당 주소에서 다른 대상이 응답하면 테스트 실행을 중단합니다. - 어떤 빌드의 결과인지 알 수 없는 테스트. 매 실행마다 테스트한 앱의 package.json 버전과 git 커밋을 기록합니다.
Docker와 SSH에서는 무엇이 달라지나요?
Docker를 사용해도 앱은 이 컴퓨터에서 실행되며, 컨테이너는 localhost BASE_URL에 host.docker.internal로 접근합니다. SSH를 사용하면 앱이 원격 호스트에서 시작됩니다.
무엇을 설정하나요?
셸 없이 프로그램 하나와 그 인수를 설정합니다: npm run dev, pnpm dev 또는 node server.js. nexus app check 또는 Studio의 테스트 기능은 앱을 시작하고, 준비될 때까지 기다린 뒤 종료합니다. 전체 로그는 evidence/run-context/에 보관됩니다.
어떤 한계가 있나요?
- 시작 명령은 셸 없이 프로그램 하나와 그 인수로 구성되므로,
&&같은 셸 연산자는 사용할 수 없습니다. 더 긴 명령 시퀀스는 스크립트에 넣고 해당 스크립트를 실행하세요. - SSH에서 localhost는 원격 호스트를 뜻합니다: 앱은 Studio가 있는 컴퓨터가 아니라 원격 호스트에서 시작됩니다.
어디에서 자세히 알아볼 수 있나요?
자체 인프라 운영 페이지에서는 PC, 미니 PC, Docker, 임대 서버를 비교하고 각각의 비용을 안내합니다. 신뢰 페이지에서는 Studio가 자체적으로 연결하는 유일한 외부 연결을 안내하며, 자체 호스팅 Playwright 가이드에서는 Docker나 Linux 서버에서 동일한 테스트를 실행하는 방법을 다룹니다.