为失败的测试自定义selenium日志

时间:2016-09-27 13:06:06

标签: selenium logging protractor

由于我与量角器一起使用的硒测试,我的结果列表如下:

[14:49:14] I/testLogger -

[14:49:14] I/launcher - 0 instance(s) of WebDriver still running
[14:49:14] I/launcher - chrome #01-0 passed
[14:49:14] I/launcher - chrome #01-1 failed 4 test(s)
[14:49:14] I/launcher - chrome #01-2 passed
[14:49:14] I/launcher - chrome #01-3 failed 1 test(s)
[14:49:14] I/launcher - chrome #01-4 passed
[14:49:14] I/launcher - chrome #01-5 passed
[14:49:14] I/launcher - chrome #01-6 passed
[14:49:14] I/launcher - chrome #01-7 passed
[14:49:14] I/launcher - chrome #01-8 passed
[14:49:14] I/launcher - chrome #01-9 passed
[14:49:14] I/launcher - chrome #01-10 failed 7 test(s)
[14:49:14] I/launcher - chrome #01-11 failed 5 test(s)
[14:49:14] I/launcher - chrome #01-12 failed 5 test(s)
[14:49:14] I/launcher - chrome #01-13 passed
[14:49:14] I/launcher - chrome #01-14 passed
[14:49:14] I/launcher - overall: 22 failed spec(s)
[14:49:14] E/launcher - Process exited with error code 1

是否可以使用更详细的信息自定义此列表,例如每个失败的测试添加一个规范名称?现在我必须滚动A LOT我的控制台以匹配一个规格失败的浏览器实例。

2 个答案:

答案 0 :(得分:2)

如果您正在使用Jasmine,则可以使用一些记者选项。看看Jasmine Spec Reporter,它很容易设置。通过npm安装后,只需在配置文件中输入并向您的onPrepare()添加一个简单的函数,即:

// conf.js
var SpecReporter = require('jasmine-spec-reporter');
exports.config = {
  onPrepare: function() {
      jasmine.getEnv().addReporter(new SpecReporter({
          displayStacktrace: 'true',
          displaySpecDuration: 'true'
      }));
   };
};

如果这不是您正在寻找的,那么人们已经制作了一些其他记者,或者您可以自己创建custom jasmine reporter

答案 1 :(得分:1)

我有大量的测试/验证,我将所有结果转储到CSV,然后在Excel中打开它。一旦数据在Excel中,您就可以充分利用Excel来过滤数据,添加数据透视表等,以便随时查看数据。

您只需要定义您关心的列。对于您的示例,您可以从测试名称,浏览器,结果,???开始。一旦这是在Excel中,您插入>表然后按Result = Failed过滤。现在您可以看到所有失败的测试。您还可以创建一个数据透视表,以显示该运行的摘要。

我创建了一个自定义Excel VBA宏,用于导入CSV,将数据转换为表格,并自动为我创建几个数据透视表。我实际上每天使用它,我无法想象以任何其他方式做到这一点。