Selenium webdriver 如何在量角器中模块化Jasmine报表的XML报表

Selenium webdriver 如何在量角器中模块化Jasmine报表的XML报表,selenium-webdriver,jasmine,protractor,Selenium Webdriver,Jasmine,Protractor,我正在使用jasmine reporters为量角器测试生成XML报告。但我面临的问题是,所有XML报告都只保存在一个位置。 我有不同的文件测试不同的模块,我想XML报告保存在单独的文件夹对应的每个测试文件,但我没有办法破解它 我的conf.js是 specs: ['testFile1.js', 'testFile2.js', 'testFile3.js' ], onPrepare: function () { require('jasmine-repo

我正在使用jasmine reporters为量角器测试生成XML报告。但我面临的问题是,所有XML报告都只保存在一个位置。 我有不同的文件测试不同的模块,我想XML报告保存在单独的文件夹对应的每个测试文件,但我没有办法破解它

我的conf.js是

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

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

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

试试这样的。您需要修改文件夹的创建以满足您的需要

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);
            });
    },

使用相同的配置,测试套件将生成一个xml报告。您有几个测试套件还是只有一个?