我正在编写一个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
答案 0 :(得分:1)
根据您应使用的code:
require('utils').dump(this.result.log);
不再有this.logs
这样的东西了。
由于没有真正记录,因此在将来的版本中可能会有所改变。我建议您注册log
事件或使用this.echo
。