我使用茉莉花 - 记者在量角器完成测试后生成报告,
这是我的配置文件:
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("protractor_output", true, true,prePendStr));
});
},
我没有收到任何错误,安装了记者,但我在 protractor_output 文件夹中看不到任何文件。
知道我做错了什么?
答案 0 :(得分:7)
问题在于jamsine版本:
如果你想在Protractor中使用jasmine-reporter,请记住Protractor是围绕Jasmine 1.x构建的。因此,您需要使用1.x版本的茉莉花 - 记者。
npm install jasmine-reporters@~1.0.0
然后配置应该是:
onPrepare: function() {
// The require statement must be down here, since jasmine-reporters@1.0
// needs jasmine to be in the global and protractor does not guarantee
// this until inside the onPrepare function.
require('jasmine-reporters');
jasmine.getEnv().addReporter(
new jasmine.JUnitXmlReporter('xmloutput', true, true)
);
}
如果您使用的是较新版本的Jasmine Reporter,则require
语句不再将JUnitXmlReporter
放在jasmine
对象上,而是将其放在模块导出上。您的设置将如下所示:
onPrepare: function() {
// The require statement must be down here, since jasmine-reporters@1.0
// needs jasmine to be in the global and protractor does not guarantee
// this until inside the onPrepare function.
var jasmineReporters = require('jasmine-reporters');
jasmine.getEnv().addReporter(
new jasmineReporters.JUnitXmlReporter('xmloutput', true, true)
);
}
您还需要验证xmloutput目录是否存在!
答案 1 :(得分:0)
要完成答案,如果输出仍未生成,
尝试将这些配置行添加到量角器exports.config对象:
framework: "jasmine2",
onPrepare: function() {
var jasmineReporters = require('jasmine-reporters');
.......
}