0

PhantomJS ヘッドレス テスト環境を介して行っているすべての要求をプロキシする中間者プロキシとして機能する node.js アプリケーションを実行しています。PhantomJS テスト スクリプト (調べたところ、ファントムにはexec()シェル コマンドを実行するためのコマンドがないようですが) または両方のプロセスを管理する小さなシェル スクリプトのいずれかから、このプロキシをスピンアップしたいと考えています。理想的には、それは次のようになります

#!/bin/bash
node proxy.js
phantomjs runTests.js
kill node process here

これを行う方法はありますか?

4

1 に答える 1

3

この質問をした直後に、子プロセスを使用して、ノード アプリ内からファントム プログラムを実行するはるかに優れた方法を見つけました。ノードアプリを含むフォルダー内にファントムスクリプトを配置し、次のように exec を使用しました。

var exec = require('child_process').exec;
var _phantom = exec('phantomjs runTests.js',function(error,stdout,stderr){
    console.log(stdout);
};

_phantom.on('exit',function(code,sig){
    process.exit(code);
});

これは、プロキシ サーバーを起動して、子プロセスを実行できることを意味します。この_phantom.on('exit')ブロックにより、プロセスがコードで終了するタイミングを検出できます。次に、process.exit.

于 2012-08-02T19:25:33.043 に答える