3

自動テストに PhantomJS を使用しています。自動化されたテストがコンソール ログにアクセスできる方法があるかどうかを知りたいです。ヘッドレス ブラウザであるため、phantomJS がコンソール ログを発行するかどうかはわかりません。

4

1 に答える 1

2

どう言う意味ですか ?

もちろん、コンソールに書き込んだり、スクリプトで引数を使用したりできます。

これは非常に基本的な例です

var args = require('system').args;
if (args.length === 1) {
    console.log('Try to pass some arguments when invoking this script!');
}
else {
    args.forEach(function(arg, i) {
        console.log(i + ': ' + arg);
    });
}

更新 PhantomJS プログラム自体と、ヘッドレス ブラウザで開いた Web ページという 2 つのコンテキストに混乱しているようです。まったく同じではありません。

ハンドラーをwebpage.onConsoleMessageに追加するだけです

var webPage = require('webpage');
var page = webPage.create();

page.onConsoleMessage = function(msg, lineNum, sourceId) {
  console.log('CONSOLE: ' + msg + ' (from line #' + lineNum + ' in "' + sourceId + '")');
}

ここでは、Web ページ コンソールからプログラム コンソールに何かを書き込んでいます。

于 2013-04-11T07:23:13.837 に答える