如何捕获终端中显示的Protractor错误消息

时间:2017-06-11 13:11:18

标签: javascript protractor

我在我的应用程序上运行了Protractor测试,大约有6个E2E测试。如果在这些期间发生任何错误,它们将显示在终端中。例如 - (1)预期' abc'被定义为' def'或(2)元素#id123在点15,10不可点击。

有没有办法以XML格式或系统中的任何其他形式捕获这些错误,而不是仅仅将它们显示在终端上。也许使用一些插件或什么?任何帮助都将得到彻底的赞赏。

2 个答案:

答案 0 :(得分:3)

是的,有办法存储这些错误。您可以使用许多可用的记者之一。例如,如果要存储XML文件,可以使用jasmine-reportershttps://github.com/larrymyers/jasmine-reporters。 或者如果您更喜欢html,那么您可以使用https://www.npmjs.com/package/protractor-html-reporter。有很多不同的记者,你只需要谷歌。

在设置记者时,您必须在配置文件中指定它。

onPrepare: function() {
    var junitReporter = new jasmineReporters.JUnitXmlReporter({
        savePath: '..',
        consolidateAll: false
     });
    jasmine.getEnv().addReporter(junitReporter);
}

如果您使用的是node.js,那么您必须导入实际的记者:

var jasmineReporters = require('jasmine-reporters');

我建议您在此处详细了解:https://github.com/larrymyers/jasmine-reporters

答案 1 :(得分:0)

如果您希望输出采用格式良好的文本方式,则有jasmine-spec-reporter。你可以找到它here。我在我的量角器测试中使用它。

要在量角器测试中使用它,您需要将其添加到配置文件中。

let SpecReporter = require('jasmine-spec-reporter').SpecReporter;

exports.config={
 //your configuration here

 onPrepare:function(){
  jasmine.getEnv().addReporter(new SpecReporter({
      spec:{
          displayStacktrace:true
      },
      summary:{
          displayDuration:false
      }

  }));
};

要在文本文件中输出此输出,我只需在我的量角器测试中添加一个文本文件,如

     protractor myconf.js  >text_file.txt

它给了我一个格式化的输出。您还可以在我的存储库here中找到演示示例。