从量角器读取浏览器日志在第二次调用后没有产生任何结果

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。所以幸运的是这不是我的代码,它也可以被其他人复制。