2016-01-13 30 views
1

当使用一个浏览器时,Html Reporter工作正常,但不显示使用量角器multicapabilities属性结果的多个浏览器。量角器-jasmine2-html-reporter不显示多功能性测试结果

这里是我的配置看起来如何在onPrepare方法:

var Jasmine2HtmlReporter = require('protractor-jasmine2-html-reporter'); 
jasmine.getEnv().addReporter(new Jasmine2HtmlReporter({ 
    savePath: './reports/' 
})); 

我注意到的截图可用于其他浏览器运行在报告/截图目录。另外,它在命令行上打印所有浏览器的结果。但除了一个浏览器的结果之外,它不会在html报告中显示任何内容。

是否有我需要定义的茉莉花选项?我试过'量角器 - 茉莉花2 - 截图 - 记者',它适用于多种浏览器结果。

sample report view

回答

3

既然你只能指定一个路径,每个浏览器会话可能覆盖前一个会议的结果。要为每个报告创建一个唯一的ID,在您的配置中,您可以执行如下操作:

var Jasmine2HtmlReporter = require('protractor-jasmine2-html-reporter'); 

onPrepare: function() { 
    return browser.getCapabilities().then(caps) { 
     var sessionId = caps.caps_['webdriver.remote.sessionid']; 
     jasmine.getEnv().addReporter(new Jasmine2HtmlReporter({ 
      savePath: './reports/' + sessionId 
     })); 
    }); 
}); 
+0

完美!感谢那。脚本可以很好地调用调用函数(大写)。 –

+0

你知不知道是否有办法巩固所有结果?就像我们在jasmine1 html记者那样?我尝试设置巩固allAll标志,但我没有看到任何区别 –

+1

我不熟悉这个插件,但我会怀疑它。当您使用multiCapabilities时,每个浏览器实例都会独立启动,其onPrepare仅为该会话添加记者。基本上每个记者都不了解其他记者,所以他们不能整合报道。我认为在运行结束之后,你将不得不制作一个shell脚本,以便自己将它们拼凑在一起。 – martin770