इस कोड को मेरी protractor
कॉन्फ़िग फ़ाइल में पूरी तरह से काम करता है ... सिवाय इसके कि onComplete में html
फ़ाइल निर्माण हमेशा एक्सएमएल ही कॉन्फ़िग फ़ाइल के onPrepare समारोह में बनाई गई फ़ाइल पिछले परीक्षण रन से junitresults xml
फ़ाइल के बजाय का उपयोग करता है। तो एचटीएमएल पेज हमेशा एचटीएमएल पेज दावों पर प्रदर्शित टाइमस्टैम्प के पीछे एक परीक्षण परीक्षण दिखा रहा है।मेरी एचटीएमएल टेस्ट रिपोर्ट हमेशा एक एक्सएमएल फ़ाइल क्यों पीछे है?
एक सरल उदाहरण है कि अगर मैं परीक्षण परिणाम फ़ोल्डर में पिछले परीक्षण से कोई xml फ़ाइल के साथ शुरू, एचटीएमएल जनरेटर पाता कोई xml फ़ाइल पर सभी से एक HTML फ़ाइल के निर्माण के लिए है, और इसलिए कोई html उत्पन्न करता है फ़ाइल। लेकिन नया एक्सएमएल फ़ाइल दिखाता है कि अभी भी बनाया गया है, फ़ोल्डर में गिरा दिया गया है, और पूरी तरह से अनदेखा किया गया है ... अगले परीक्षण तक।
क्या आप मुझे xml फ़ाइल जेनरेट करने के लिए अपना परीक्षण प्राप्त करने में मदद कर सकते हैं और फिर का उपयोग कर सकते हैं xml फ़ाइल HTML फ़ाइल जेनरेट करने के लिए?
धन्यवाद!
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.");
},