Проверить не было ошибок в консоли браузера с транспортиром
-
21-12-2019 - |
Вопрос
Я использую транктором для проверки Angularjs
Я хочу проверить, что в конце теста нет неосторожных исключений и были напечатаны в консоли браузера.
Есть ли простой способ сделать это?
Решение
Если вы используете транспортир с жасмином, используйте следующий код:
afterEach(function() {
browser.manage().logs().get('browser').then(function(browserLog) {
expect(browserLog.length).toEqual(0);
});
});
.
Это пройдет тестовый случай, если нет ошибок консоли.Если есть какие-либо ошибки консоли, тест не пройдет неудачу.
Инструкции о том, как получить доступ к содержимому консоли браузера можно найти в
Другие советы
Protractor 2.0.0 внедрил Плагин console
специально для задачиОтказ
Добавьте следующее в конфигурацию транкторов:
plugins: [{
path: '/path/to/node_modules/protractor/plugins/console/index.js',
failOnWarning: true,
failOnError: true
}],
. С небольшим усилием мы можем настроить принятый ответ на работу с Cucumber.js, в случае, если вы не используете транспортировку с помощью структуры тестирования по умолчанию.
this.After(function(callback) {
browser.manage().logs().get('browser').then(function(browserLog) {
if (browserLog.length !== 0) {
var failMessage = "There was output in the browser console:" +
browserLog.map(JSON.stringify).join(";\n");
callback.fail(failMessage);
}
else {
callback();
}
});
});
.
Вы захотите проверить документацию на после того, как крючки , которые являются эквивалентными огурцом Генеракодицетагкодом Жасмина.
Как заявил, как @Velochy заявил, что теперь есть собственный пакет для модуля: https://www.npmjs.com/package/protraactor-console-plugin
Вы можете использовать его в своем Protractor.conf:
plugins: [{
package: 'protractor-console-plugin',
failOnWarning: {Boolean} (Default - false),
failOnError: {Boolean} (Default - true),
logWarnings: {Boolean} (Default - true),
exclude: {Array of strings and regex} (Default - [])
}]
.