CasperJS require('utils')。dump(this.logs)未定义

时间:2014-08-09 14:54:52

标签: casperjs

我正在编写一个CasperJS脚本,并且希望从执行开始以来转储已写入日志的内容的全部内容。在casperjs documentation中,它说,

  

您也可以通过呈现Casper.logs属性的内容来转储Casper套件的JSON日志

不幸的是,当我使用文档中的示例代码时,我会得到“未定义的”#39;来自casper.logs值。以下是示例代码:

casper = require('casper').create({
    verbose: true,
    logLevel: 'info'
});
casper.start();
casper.thenOpen('http://casperjs.org', function() {
    this.log("this is a log", 'info');
    this.log(this.getTitle(), 'info');
});
casper.thenOpen('http://phantomjs.org', function() {
    this.log(this.getTitle(), 'info');
    require('utils').dump(this.logs);
});
casper.run(function() {
    this.exit();
});

以下是此代码的输出:

[info] [phantom] Starting...
[info] [phantom] Running suite: 4 steps
[info] [phantom] Step anonymous 2/4 http://casperjs.org/ (HTTP 200)
[info] [phantom] this is a log
[info] [phantom] CasperJS, a navigation scripting and testing utility for PhantomJS and SlimerJS
[info] [phantom] Step anonymous 2/4: done in 913ms.
[info] [phantom] Step anonymous 4/4 http://phantomjs.org/ (HTTP 200)
[info] [phantom] PhantomJS | PhantomJS
undefined
[info] [phantom] Step anonymous 4/4: done in 1340ms.
[info] [phantom] Done 4 steps in 1359ms

1 个答案:

答案 0 :(得分:1)

根据您应使用的code

require('utils').dump(this.result.log);

不再有this.logs这样的东西了。

由于没有真正记录,因此在将来的版本中可能会有所改变。我建议您注册log事件或使用this.echo