Ich habe ein protractor
Setup mit mehreren Browsern konfiguriert über multiCapabilities
, Tests auf browserstack ausgeführt.Behandlung unbekannter Fehler im Winkelmesser
Einer meiner Schlüssel Winkelmesser specs/Tests enthalten folgende afterEach()
Block:
afterEach(function() {
browser.manage().logs().get("browser").then(function (browserLog) {
expect(browserLog.length).toEqual(0);
});
});
, die überprüft, ob der Browser-Konsole leer ist (keine Fehler auf der Konsole).
Das Problem ist: wenn ich diese spec gegen Internet Explorer ausführen, erhalte ich eine UnknownError
:
UnknownError: Command not found: POST /session/6b838fe8-f4a6-4b31-b245-f4bf8f37537c/log
Nach einem schnellen Forschung haben heraus Ich fand, dass IE selenium webdriver
noch Sitzung nicht unterstützt Protokolle:
Die Frage ist: Wie kann ich diese UnknownError
fangen und lassen Sie die Spezifikation im Falle dieses spezifischen Fehlers passieren?
Oder, um es umzudrehen, ist es möglich, eine afterEach()
Block-Fähigkeit/Browser-spezifisch zu haben, oder wissen, welche derzeit laufende Fähigkeit ist es?
Ich habe versucht, try/catch
zu verwenden und versuchen, auf Ausnahme unter Berufung sender
, aber console.log()
nicht ausgeführt wird:
afterEach(function() {
try {
browser.manage().logs().get("browser").then(function (browserLog) {
expect(browserLog.length).toEqual(0);
});
}
catch (e) {
console.log(e.sender);
}
});
Als Abhilfe können, ich bin die gleiche Spezifikation duplizieren, aber ohne dass afterEach()
versagt blockieren, speziell für den Internet Explorer.