トンネルを使わずに 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 を含む)された際に、プロセスツリー全体とともにアプリを停止します。 - 起動していないアプリに対してテストが成功(グリーン)になってしまう問題。 テストの実行は、準備完了 URL から 500 未満のステータスコードで応答があるまで、0.5 秒ごとに確認しながら待機します。アプリが起動できない場合、テストは一切開始されず、直近 40 行のログとともに
CONFIG_ERROR APP_DID_NOT_STARTを出力します。 - すでに起動しているアプリのインスタンスが重複して起動する問題。
NEXUS_APP_REUSE=trueに設定すると、すでに稼働中のアプリを再利用し、終了後もそのまま稼動させ続けます。falseの場合、その場所で別のプロセスが応答していれば実行を停止します。 - どのビルドに関連するものか特定できないテスト結果。 各テスト実行では、アプリの package.json のバージョンと、テスト対象となった git コミットが記録されます。
Docker や SSH 経由では何が変わりますか?
Docker の場合でもアプリはこのマシン上で実行され、コンテナは localhost の BASE_URL に host.docker.internal としてアクセスします。SSH 経由の場合、アプリはリモートホスト上で起動します。
何を設定しますか?
シェルを介さない 1 つのプログラムとその引数です(例: npm run dev、pnpm dev、node server.js)。nexus app check または Studio の「Test it」を実行すると、アプリが起動され、準備完了を待ってから停止されます。ログ全体は evidence/run-context/ に保存されます。
制限事項には何がありますか?
- 起動コマンドはシェルを介さず引数を伴う単一のプログラムであるため、
&&などのシェル演算子は使用できません。より長いシーケンスを実行する場合はスクリプトにまとめ、そのスクリプトを起動してください。 - SSH経由の場合、localhostはリモートホストを指します。アプリはStudioが置かれているマシンではなく、リモートホスト側で起動します。
詳細はどこで確認できますか?
独自のインフラを持つためのページでは、PC、ミニPC、Docker、レンタルサーバーを比較し、それぞれのコストを解説しています。信頼性に関するページでは、Studioが独自に行う唯一の接続をリストアップしており、セルフホスト型Playwrightガイドでは、DockerやLinuxサーバー上で同じテストを実行する方法を説明しています。