Tôi có thiết lập protractor
với nhiều trình duyệt được định cấu hình qua multiCapabilities
, chạy thử nghiệm trên trình duyệt.Xử lý lỗi không xác định trong thước đo
Một trong những thông số kỹ thuật thước đo quan trọng của tôi/kiểm tra chứa afterEach()
khối sau:
afterEach(function() {
browser.manage().logs().get("browser").then(function (browserLog) {
expect(browserLog.length).toEqual(0);
});
});
để kiểm tra rằng trình duyệt giao diện điều khiển trống (không có lỗi trên giao diện điều khiển).
Vấn đề là: khi tôi chạy spec này chống lại Internet Explorer, tôi nhận được một UnknownError
:
UnknownError: Command not found: POST /session/6b838fe8-f4a6-4b31-b245-f4bf8f37537c/log
Sau một nghiên cứu nhanh chóng, tôi đã phát hiện ra rằng IE selenium webdriver
chưa hỗ trợ phiên bản ghi:
Câu hỏi đặt ra là: làm thế nào tôi có thể bắt được số UnknownError
và để thông số kỹ thuật vượt qua trong trường hợp lỗi cụ thể này?
Hoặc, để xoay vòng, có thể có khả năng chặn afterEach()
/trình duyệt cụ thể hoặc biết khả năng hiện đang chạy nào không?
Tôi đã cố gắng sử dụng try/catch
và cố gắng dựa vào ngoại lệ sender
, nhưng console.log()
không được thực hiện:
afterEach(function() {
try {
browser.manage().logs().get("browser").then(function (browserLog) {
expect(browserLog.length).toEqual(0);
});
}
catch (e) {
console.log(e.sender);
}
});
Là một workaround, tôi sao chép spec tương tự, nhưng mà không có thất bại afterEach()
chặn, cụ thể cho Internet Explorer.