2016-04-04 58 views
2

我試圖檢測某個警告是否記錄在第三方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 
    }); 
}); 

即使我已經硬編碼在渲染頁面console.error('test')後500毫秒,以browser.manager().logs().get('browser')第二個呼叫產生任何結果的。有人知道爲什麼這不起作用嗎?

The Protractor documentation表示在每次調用後緩衝區被清除,並且新調用只會呈現自上次調用(這正是我所需要的)以來的新控制檯日誌。

+0

如果你會增加睡眠延遲 - 有什麼區別?謝謝。 – alecxe

+0

@alecxe不過,我已經在量角器github上創建了一個問題,並確認了錯誤。我會用鏈接參考回答我的問題。儘管感謝您的興趣! –

回答

1

此問題已在Selenium confirmed bug。幸運的是,這不是我的代碼,它也可以被其他人重現。

相關問題