量角器:Jasmine-Reporter (jasmine2)正在生成奇怪的Junit XML报告
Protractor: Jasmine-Reporter (jasmine2) is generating weird Junit XML report
我用的是Jasmine reporter 1。我可以生成漂亮的Junit Xml报告。但后来我们搬到了Jasmine reporter。因为它有一些很酷的新功能。但问题是我无法为我的测试结果生成正确的Junit XML报告。我的XML输出如下所示:
<?xml version="1.0" encoding="UTF-8" ?>
<testsuites>
<testsuite name="focused specs" timestamp="2015-07-31T17:00:42" hostname="localhost" time="6.225" errors="0" tests="3" skipped="0" disabled="0" failures="0">
<testcase classname="focused specs" name="DDD" time="2.169" />
<testcase classname="focused specs" name="EEE" time="1.514" />
<testcase classname="focused specs" name="FFF" time="0.615" />
</testsuite>
<testsuite name="focused specs.SQLITE" timestamp="2015-07-31T17:00:46" hostname="localhost" time="0" errors="0" tests="0" skipped="0" disabled="0" failures="0">
</testsuite>
<testsuite name="focused specs.System admin page UI - delete user from MS SQL database through UI" timestamp="2015-07-31T17:00:46" hostname="localhost" time="1.924" errors="0" tests="3" skipped="0" disabled="0" failures="0">
<testcase classname="focused specs.System admin page UI - delete user from MS SQL database through UI" name="AAA" time="1.018" />
<testcase classname="focused specs.System admin page UI - delete user from MS SQL database through UI" name="BBB" time="0.171" />
<testcase classname="focused specs.System admin page UI - delete user from MS SQL database through UI" name="CCC" time="0.225" />
</testsuite>
</testsuites>
我不明白为什么我在类和测试套件名称中看到"集中规格"。同样,对于我的第一个测试套件,你可以看到测试套件的名称不见了(被"聚焦规格"取代),并显示在下一个标签"SQLITE"中。这就是我如何在我的。conf文件中使用reporter插件:
exports.config = {
//multiCapabilities: [{'browserName': 'firefox'},{'browserName': 'chrome'},{'browserName': 'internet explorer'}],
capabilities: {'browserName': 'chrome'},
seleniumAddress: 'http://localhost:4444/wd/hub',
specs: ['./runner/runner-*.js'],
allScriptsTimeout: 10000,
getPageTimeout: 10000,
framework: 'jasmine2',
onPrepare: function() {
var jasmineReporters = require('jasmine-reporters');
var capsPromise = browser.getCapabilities();
capsPromise.then(function(caps){
var browserName = caps.caps_.browserName.toUpperCase();
var browserVersion = caps.caps_.version;
var prePendStr = browserName + "-" + browserVersion + "-";
jasmine.getEnv().addReporter(new jasmineReporters.JUnitXmlReporter({
consolidateAll: true,
savePath: 'XML-Results',
filePrefix: prePendStr
}));
});
},
};
你知道我为什么受苦吗?
谢谢。
我也有和你一样的问题。
经过研究,我发现onPrepare()
可以选择返回一个承诺,Protractor将在开始测试执行之前等待。
这里可能发生的情况是,测试在报告文件初始化完成之前就开始执行了。
你可以参考这个答案
我可以通过在获得浏览器功能时返回一个承诺来解决这个问题:
<>之前
onPrepare: function () {
var jasmineReporters = require('jasmine-reporters');
// return promise here to ensure this gets completed before tests run
return browser.getCapabilities().then(function (caps) {
var browserName = caps.caps_.browserName.toUpperCase();
var browserVersion = caps.caps_.version;
var prePendStr = browserName + "-" + browserVersion + "-";
jasmine.getEnv().addReporter(new jasmineReporters.JUnitXmlReporter({
consolidateAll: true,
savePath: 'XML-Results',
filePrefix: prePendStr
}));
});
}
之前如果有帮助请告诉我
相关文章:
- 如何通过自己获得Chrome扩展的用户反馈/错误报告
- angularjs$valid-on-dates在firefox中报告错误
- 如何在JUnit测试中测试wicket上的附加javascript ajaxBehavior
- 使用c#中的邮件附件javascript在客户端机器上获取服务器端导出的crystal报告路径.下面的
- 如何将因果报应测试报告上传到声纳
- "未捕获的语法错误:意外的标记<"当尝试使用谷歌'核心报告API
- 在Meteor js中生成PDF报告
- 我可以把茉莉花规格报告器的输出写入文件吗
- 为什么jslint报告Unexpected'变量'
- 禁用报告的2个未来日期
- nodejs:child_process.spawn未报告退出代码
- 使用AddThis-config-data_ga_property向两个Google Analytics配置文件报告
- 如何修复JSlint报告的“foo未定义”错误
- Google Analytics(分析)多跟踪帐号维度数据部分未显示在报告中
- 生成图形图表报告
- 从 Node/Express/Angular/PhantomJS 导出带有图表的 PDF 报告
- 被动.js模式间接观察者报告相同的值
- Ajax 报告成功,但数据库没有任何变化
- Javascript错误“XML不能是整个程序”在FireFox中使用jQuery中的getScript()报告
- 量角器:Jasmine-Reporter (jasmine2)正在生成奇怪的Junit XML报告