phantomJS中的自动测试:如何访问控制台日志

时间:2013-04-11 00:31:04

标签: javascript automated-tests phantomjs

我正在使用PhantomJS进行自动化测试。我想知道自动化测试是否可以访问控制台日志。我不知道phantomJS是否发布了控制台日志,因为它是一个无头浏览器。

1 个答案:

答案 0 :(得分: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程序本身以及在无头浏览器中打开的网页。它根本不一样。

只需向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 + '")');
}

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