我正在使用 PhantomJS 进行自动化测试。我想知道是否有一种方法可以让自动化测试访问控制台日志。我不知道 phantomJS 是否发布控制台日志,因为它是 headless 浏览器。
最佳答案
什么意思?
当然,您可以写入控制台或在脚本中使用参数。
这是一个非常基本的例子
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 程序本身和在 headless 浏览器中打开的网页。这根本不一样。
只需将处理程序添加到 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 + '")');
}
这里我们正在从网页控制台在程序控制台中编写一些东西。
关于javascript - phantomJS : how to access console logs 中的自动化测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15938872/