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 程序本身和在您的无头浏览器中打开的网页。这根本不一样。

只需将处理程序添加到pages.onConsoleMessage

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

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

在这里,我们在来自网页控制台的程序控制台中编写一些东西。

于 2013-04-11T07:23:13.837 回答