在我的測試中,我需要檢查單擊按鈕後控制檯中是否有錯誤。但是我得到的唯一錯誤是來自登錄頁面,然後在頁面加載之後。但按鈕點擊後沒有任何東西,我知道有錯誤發生。如果沒有錯誤,就有日誌。我的功能似乎也沒有捕捉到這些。這很令人沮喪。這是我的代碼。 (我在我的config.js
文件中的登錄密碼。)量角器檢查控制檯在操作後出現錯誤
function checkConsoleErrors() {
browser.manage().logs().get('browser').then(function (browserLog) {
if (browserLog.length) {
browserLog.forEach(function(log){
var error = log.level.value > 900;
if(error) {
console.error('ERROR: ', log.message);
if (log.timestamp > timestamp) {
expect(error).toBeFalsy(); //only check for errors after the button click
}
}
});
}
});
}
describe('Errors', function() {
afterEach(function() {
checkConsoleErrors();
});
it('should have no errors', function() {
//code here
btn.click();
timestamp = moment().valueOf(); //capture the time the button was clicked
browser.sleep(10000); //wait
});
});
我這麼想嗎?有沒有不同的/更好的方法來做到這一點?
嘗試@alecxe從這裏回答 - http://stackoverflow.com/questions/27415507/doing-something-aftereach-describe-in-protractor-with-selenium-server-with-angul –
我不看看從afterEach到afterAll的變化將產生不同的效果 – cocoa
您是否嘗試過使用內置於量角器的控制檯插件?謝謝。 – alecxe