5

У меня есть установка protractor с несколькими браузерами, настроенными через multiCapabilities, выполняющиеся тесты на браузере.Обработка неизвестных ошибок в транспортирторе

Один из моих ключевых спецификаций транспортир/тесты содержат следующий afterEach() блок:

afterEach(function() { 
    browser.manage().logs().get("browser").then(function (browserLog) { 
     expect(browserLog.length).toEqual(0); 
    }); 
}); 

, который проверяет, что консоль браузера пуст (без ошибок на консоли).

Проблема заключается в том: когда я запускаю эту спецификацию против Internet Explorer, я получаю UnknownError:

UnknownError: Command not found: POST /session/6b838fe8-f4a6-4b31-b245-f4bf8f37537c/log

После быстрого исследования, я обнаружил, что IE selenium webdriver еще не поддерживает сеанс журналы:

Вопрос в следующем: Как я могу поймать этот UnknownError и передать пропуск в случае этой конкретной ошибки?

Или, чтобы включить его, возможно ли иметь возможность блокировки блока afterEach()/с учетом браузера или знать, какая в данный момент возможность работы?


Я пытался использовать try/catch и попытаться полагаться на исключение sender, но console.log() не выполняется:

afterEach(function() { 
    try { 
     browser.manage().logs().get("browser").then(function (browserLog) { 
      expect(browserLog.length).toEqual(0); 
     }); 
    } 
    catch (e) { 
     console.log(e.sender); 
    } 
}); 

В качестве обходного пути, я дублировать ту же спецификацию, но без этого не суметь afterEach() блок, особенно для Internet Explorer.

ответ

5

Найдено один вариант - с помощью getCapabilities(), чтобы получить имя текущего браузера:

afterEach(function() { 
    browser.driver.getCapabilities().then(function(caps) { 
     var browserName = caps.caps_.browserName; 

     if (browserName !== "internet explorer") { 
      browser.manage().logs().get("browser").then(function (browserLog) { 
       expect(browserLog.length).toEqual(0); 
      }); 
     } 
    }); 
}); 

В этом случае браузер журналов не будет проверяться при работе с Internet Explorer.

Смежные вопросы