Angularjs JasmineReporters JUnitXmlReporter未写入文件
我用webdriver运行了量角器测试。测试运行,但是jasmine reporter没有编写输出文件 量角器_conf.js:Angularjs JasmineReporters JUnitXmlReporter未写入文件,angularjs,jasmine,protractor,Angularjs,Jasmine,Protractor,我用webdriver运行了量角器测试。测试运行,但是jasmine reporter没有编写输出文件 量角器_conf.js: exports.config = { // Do not start a Selenium Standalone sever - only run this using chrome. //chromeOnly: true, //chromeDriver: '../node_modules/protractor/selenium/chromed
exports.config = {
// Do not start a Selenium Standalone sever - only run this using chrome.
//chromeOnly: true,
//chromeDriver: '../node_modules/protractor/selenium/chromedriver',
//we are using a standalone selenium server so give it the local address
seleniumAddress: 'http://0.0.0.0:4444/wd/hub',
//seleniumPort: 4444,
//seleniumServerJar: './selenium-server-standalone-2.42.2.jar',
// Capabilities to be passed to the webdriver instance.
capabilities: {
'browserName': 'chrome'
},
baseUrl: 'http://localhost:8000',
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('test/test-results/protractor', true, true, prePendStr));
});
},
specs: ['test/protractor/**/*-spec.js'],
// Options to be passed to Jasmine-node.
jasmineNodeOpts: {
showColors: true,
isVerbose: true,
defaultTimeoutInterval: 30000
},
params: {
env: 'development',
homepageUrl: 'http://localhost:9000'
}
};
测试输出:
/usr/local/bin/node --debug-brk=60603 --nolazy node_modules/protractor/lib/cli.js protractor_conf-dev.js
debugger listening on port 60603
Using the selenium server at http://0.0.0.0:4444/wd/hub
E2E: verify main page loads and correct items are there
when the main page loads, the content should be available - pass
Finished in 0.727 seconds
1 test, 1 assertion, 0 failures
Process finished with exit code 0
看起来很像你在尝试结合茉莉花-reporters@2.0.0带量角器。量角器目前支持Jasmine 1.x,而不是Jasmine 2.x。我怀疑你想使用jasmine reporters的
~1.0.0
。看起来您还试图将jasmine reporters 1.x语法与2.x reporters结合起来
- 看起来您正在使用2.0.0,因为
var jasmineReporters=require('jasmine-reporters')代码>和
新的jasminereporter.JUnitXmlReporter(/*…*/)代码>
- jasmine reporters 1.x没有
,也没有导出任何内容,因此您应该得到index.js
TypeError:undefined不是一个函数,如果使用1.x reporters尝试上述代码
- jasmine reporters 1.x没有
- 看起来您正在将1.x语法与2.x报告程序相结合,因为2.x JUnitXmlReporter需要的是配置对象,而不是有序参数
require('jasmine-reporters');
jasmine.getEnv().addReporter(
new jasmine.JUnitXmlReporter('test/test-results/protractor', true, true, prePendStr)
);
是的,我的package.json中有“jasmine reporters”:“^2.0.0”。将其更改为较低版本,并将代码放回您在jasmine 2.x中引用的代码(由于版本的原因,在new jasmine.JUnitXmlReport中失败),需要进行的修改是-
var jasmineReporter=require('jasmine-reporters');jasmine.getEnv().addReporter(新的jasmineReporter.JUnitXmlReporter('test/test results/dragrator',true,true,prePendStr))代码>@RahulVig很接近,但jasmine reporters 2.x不再使用有序参数。因此,最后一位需要是newjasminereporter.JUnitXmlReporter({savePath:'test/testresults/dragrator',filePrefix:prePendStr})代码>--默认情况下,useDotNotation和consolidate都为true。