Bil*_*rtz 41 jasmine angularjs protractor
如何在angularjs量角器jasmine测试中查看console.log输出?截至目前,浏览器自动关闭太快.
更多信息 - 我正在使用angularjs教程,第8步.我正在尝试将e2e测试更改为量角器.我正在使用的量角器配置文件基于%appdata%\npm \node_modules\protractor\referenceConf.js.在配置文件引用的spec js文件中,我有console.log的实例.但是,在执行量角器e2e测试期间,网站以chrome格式打开,我看到事情发生在浏览器中,然后浏览器关闭,然后我才能检查任何console.log输出.我想我需要以某种方式保持镀铬.怎么样?
Moh*_*sen 41
使用 browser.manage().logs().get('browser')
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);
}
});
});
Run Code Online (Sandbox Code Playgroud)
一般的误解是console.log
在浏览器中记录内容.那是不对的.当您运行测试时,以及测试结果,您应该console.log()
在终端中看到值.浏览器控制台与此完全不同.
一般例子:
it('get name as John', function(){
element(by.id('name')).getText().then(function(value){
console.log(value);
})
});
Run Code Online (Sandbox Code Playgroud)
结果在终端:
John
get name as John - pass
Run Code Online (Sandbox Code Playgroud)
希望能帮助到你.
为了保持浏览器的窗口打开,您应该尝试在调试模式下运行Protractor:
$ <route-to-protractor> debug <route-to-conf-file>
Run Code Online (Sandbox Code Playgroud)
然后在您的spec文件中将此行添加到您希望执行停止的位置:
browser.debugger();
Run Code Online (Sandbox Code Playgroud)
在Protractor调试器控制台中,您可以通过键入c
或跳过停靠点cont
.
更多信息:https://github.com/angular/protractor/blob/master/docs/debugging.md
现在,为了获得控制台内容,您可以在Protractor FAQ中查看如何操作:https: //github.com/angular/protractor/blob/master/docs/faq.md#how-can-i-get-持有的最的浏览器控制台
就像是:
browser.manage().logs().get('browser').then(function(browserLog) {
console.log('log: ' + require('util').inspect(browserLog));
})
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
41522 次 |
最近记录: |