mohit
mohit

Reputation: 769

How to modularize XML reports of Jasmine Reports in Protractor

I am using jasmine-reporters to generate XML reports for my Protractor tests. But issue I am facing is that all of the XML reports gets saved in one location only. I have various files which test different module and I want XML report to save in separate folder corresponding each test file but I am not getting a way to crack it.

My conf.js is

specs: ['testFile1.js',
        'testFile2.js',
        'testFile3.js'
],

onPrepare: function () {
    require('jasmine-reporters');

    jasmine.getEnv().addReporter(new jasmine.JUnitXmlReporter('JUnit XML Report/', true, true));
  }

Upvotes: 4

Views: 1227

Answers (1)

binarygiant
binarygiant

Reputation: 6422

Try something like this. You'll want to modify the creation of folders to fit your needs.

onPrepare: function () {
        require('jasmine-reporters');
        var fs = require('fs');
        var Q = require('q');

        var mkdir = Q.denodeify(fs.mkdir);
        mkdir('test/test-results')
            .then(function(data) {
                mkdir('test/test-results/protractor')
                    .then(function(data) {
                        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 jasmine.JUnitXmlReporter('test/test-results/protractor/', true, true, prePendStr));
                        });
                    })
                    .fail(function(err) {
                        console.err('Error creating directory ' + err);
                    })
            })
            .fail(function(err) {
                console.err('Error creating directory ' + err);
            });
    },

Upvotes: 0

Related Questions