javascript - phantomJS : how to access console logs 中的自动化测试

标签 javascript automated-tests phantomjs

我正在使用 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/

相关文章:

python - 如何删除 Squish 事件处理程序?

javascript - Casperjs iframe 未加载

javascript - 您可以通过脚本确定 Chrome 是否处于隐身模式吗?

javascript - 使用 javascript 转义 html 和非 ascii 字符

javascript - 如何使用 AngularJS 自定义过滤器和 lodash

javascript - 每当将链接鼠标悬停在任意页面上时调用函数?

amazon-web-services - 我应该如何测试我的 "Serverless"(API Gateway/Lambda/ECS) 应用程序?

ruby-on-rails - 在 cucumber .feature 文件中传递数组值

javascript - Phantomjs 检查 javascript 是否存在并且正在运行

unit-testing - 如何通过 mocha-phatomJS 配置资源处理?加载资源文件时出错 :