2016-02-26 63 views
1

我在使用casperjs测试某些东西时,我遇到了麻烦调试简单的事情,我想在评估中运行console.log,阅读一些示例,但仍然可以'让它工作。这是我的测试代码:无法获取console.log在CasperJS中进行评估

var casper = require("casper").create(); 
var system = require('system'); 
var url = casper.cli.get(0); 

var casper = require('casper').create({ 
    verbose: true, 
    logLevel: "debug" 
}); 

casper.onConsoleMessage = function(msg) { 
    system.stderr.writeLine('console: ' + msg); 
}; 

casper.start(url, function() { 
    this.evaluate(function() { console.log('test'); }); 
}); 

casper.run(function() { 
    console.log('done'); 
    this.exit(); 
}); 

我确实得到了“完成”打印,但从来没有“测试”,我做错了什么?

+0

我已经把你的问题解决了。重复的目标问题很奇怪,但它的答案完全符合你的问题。 –

+0

@ArtjomB。我搜索了很多问题,找不到那个问题,我发现所有答案都是phantomjs,有人应该编辑问题标题。 – Mark

回答

1

你可以试试下面的解决方案,以及

//Code to display Console errors 
casper.on('remote.message', function (msg) { 
    console.log('remote message caught: ' + msg); 
}); 

//Code to display errors from the page 
casper.on('page.error', function (msg, trace) { 
    console.log('Error: ' + msg, 'ERROR'); 
}); 
0

就找到了解决办法,我用了phantomjs的方法,我只好用

casper.on('remote.message', function(msg) { 
    this.echo('remote message caught: ' + msg); 
}) 

,而不是onConsoleMessage