我想在Protractor中记录控制台错误,方法如下:
日志输出格式如下:
{
level: {
value: 900,
name: 'WARNING'
},
message: 'message',
timestamp: 1442090739962,
type: ''
}, {
level: {
value: 800,
name: 'INFO'
},
message: 'message',
timestamp: 1442090740723,
type: ''
}, {
level: {
value: 1000,
name: 'ERROR'
},
message: 'error message',
timestamp: 1442090740723,
type: ''
},
我想只捕获错误,所以我写了这样的测试
it('it should be detect console errors', function() {
browser.manage().logs().get('browser').then(function(browserLogs) {
// browserLogs is an array of objects with level and message fields
browserLogs.forEach(function(log) {
if (log.level.value > 900) { // it's an error log
console.log('Browser console error!');
console.log(log.message);
}
});
});
});
问题是它有时会捕获错误,有时不会。
当我给websocket提供错误的路径并出现错误时,它会记录日志。但是,当我将错误的路径提供给ng-include
,如果在控制台中出现404错误
,则不会记录日志。
我正在使用火狐浏览器进行测试。这个控制台插件是基于浏览器的吗?为什么它对控制台错误显示不一致?