Javascript 使用量角器检查浏览器控制台中是否存在错误

Javascript 使用量角器检查浏览器控制台中是否存在错误,javascript,angularjs,selenium,testing,protractor,Javascript,Angularjs,Selenium,Testing,Protractor,我在用量角器测试AngularJS 我想检查测试结束时,是否没有出现未捕获的异常,并将其打印到浏览器控制台 有简单的方法吗?如果您将量角器与Jasmine一起使用,请使用以下代码: afterEach(function() { browser.manage().logs().get('browser').then(function(browserLog) { expect(browserLog.length).toEqual(0); }); }); 如果没有控制

我在用量角器测试AngularJS

我想检查测试结束时,是否没有出现未捕获的异常,并将其打印到浏览器控制台


有简单的方法吗?

如果您将量角器与Jasmine一起使用,请使用以下代码:

afterEach(function() {
    browser.manage().logs().get('browser').then(function(browserLog) {
        expect(browserLog.length).toEqual(0);
    });
});
如果没有控制台错误,这将通过测试用例。如果存在任何控制台错误,测试将失败


有关如何访问浏览器控制台内容的说明可以在常见问题部分找到。

只要稍加努力,我们就可以调整已接受的答案,以便与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();
        }
    });
});
您将想查看Cucumber的文档,它相当于Jasmine的
,每次

量角器2.0.0之后,都会有一个专门用于任务的新
控制台
插件

将以下内容添加到量角器配置中:

plugins: [{
    path: '/path/to/node_modules/protractor/plugins/console/index.js',
    failOnWarning: true,
    failOnError: true
}],

@velochy如何说明模块现在有自己的软件包:

您可以在paragrator.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 - [])
  }]

自2015年以来,它似乎已经进入了一个单独的npm量角器插件控制台包