我的量角器测试以错误消息结束,例如ENOENT: no such file or directory, open 'c:\QA\test-results\chrome\junitresults.xml'
.
但是当我检查c:\QA\test-results\chrome\
文件夹时,一个全新junitresults.xml
的就在那里。
所以我想知道该onComplete
函数是否在xml
文件生成完成之前运行。
(由于 eachonPrepare
确实创建了一个junitresults.xml
,下次测试运行时,该onComplete
函数会找到并使用上一个测试的文件。所以html
创建的文件总是大约 30 分钟过时。如果我删除旧的junitresults.xml
并重新开始,我会再次收到错误消息.)
我能做些什么?
onPrepare: function() {
var capsPromise = browser.getCapabilities();
capsPromise.then(function(caps) {
browser.browserName = caps.caps_.browserName.replace(/ /g,"-");
browser.browserVersion = caps.caps_.version;
browserName = browser.browserName;
browser.reportPath = 'c:/QA/test-results/' + browser.browserName + '/';
}). then(function(caps) {
var jasmineReporters = require('jasmine-reporters');
jasmine.getEnv().addReporter(new jasmineReporters.JUnitXmlReporter({
consolidateAll: true,
savePath: 'c:/QA/test-results/' + browser.browserName + '/',
filePrefix: 'junitresults'
}));
});
return browser.browserName, browser.browserVersion, browser.reportPath;
},
onComplete: function() {
var HTMLReport = require('jasmine-xml2html-converter');
// Call custom report for html output
testConfig = {
reportTitle: 'Test Execution Report',
outputPath: browser.reportPath,
seleniumServer: 'default',
applicationUrl: browser.baseUrl,
testBrowser: browser.browserName + ' v.' + browser.browserVersion
};
new HTMLReport().from(browser.reportPath + 'junitresults.xml', testConfig);
console.log("... aaaannnnd... done.");
},