从量角器读取浏览器日志在第二次调用后没有产生任何结果
Reading browser log from protractor yields no results after second call
我正在尝试检测第三方 API 的控制台中是否记录了某个警告,该警告发生在一个可变的时间点。我想做的是 反复读出浏览器日志,直到找到我要找的日志。 为简洁起见,这只是一个类似的案例,但更容易阅读:
browser.manage().logs().get('browser').then(function(logs){
console.log('initial logged statements: ', logs.length);
// yields some console messages which are expected
});
browser.sleep(1000).then(function(){
browser.manage().logs().get('browser').then(function(logs){
console.log('reading browserlog after 1 second', logs.length);
// yields no console messages
});
});
即使我在 500 毫秒后在呈现的页面中硬编码了 console.error('test')
,第二次调用 browser.manager().logs().get('browser')
也没有产生任何结果。有人知道为什么这不起作用吗?
The Protractor documentation 表示每次调用后都会清除缓冲区,并且新调用仅呈现自上次调用以来的新控制台日志(这正是我需要的)。
此问题已成为 Selenium 的 confirmed bug。所以幸运的是这不是我的代码,它也可以被其他人复制。
我正在尝试检测第三方 API 的控制台中是否记录了某个警告,该警告发生在一个可变的时间点。我想做的是 反复读出浏览器日志,直到找到我要找的日志。 为简洁起见,这只是一个类似的案例,但更容易阅读:
browser.manage().logs().get('browser').then(function(logs){
console.log('initial logged statements: ', logs.length);
// yields some console messages which are expected
});
browser.sleep(1000).then(function(){
browser.manage().logs().get('browser').then(function(logs){
console.log('reading browserlog after 1 second', logs.length);
// yields no console messages
});
});
即使我在 500 毫秒后在呈现的页面中硬编码了 console.error('test')
,第二次调用 browser.manager().logs().get('browser')
也没有产生任何结果。有人知道为什么这不起作用吗?
The Protractor documentation 表示每次调用后都会清除缓冲区,并且新调用仅呈现自上次调用以来的新控制台日志(这正是我需要的)。
此问题已成为 Selenium 的 confirmed bug。所以幸运的是这不是我的代码,它也可以被其他人复制。