量角器:定义 Allure reporter resultsDir 以位于其他地方

Protractor: define Allure reporter resultsDir to be located elsewhere

我正在使用 Protractor 和 jasmine-allure-reporter。我是 bash 脚本中的 运行 量角器,问题出在 resultsDir 上,因为我希望在特定文件夹中生成结果。目前它们生成在 ~/e2e/project_name/conf/allure-results/ 文件夹中。我需要的是在 ~/e2e/reports/project_name/allure_results/ 中生成它们。只需在 resultsDir 参数中输入完整路径 resultsDir: '/home/e2e/reports/project_name/allure-results' 不会有任何改变。我该如何解决?

conf.js 文件中的当前设置:

browser.manage().timeouts().implicitlyWait(15000);
var AllureReporter = require('jasmine-allure-reporter');
jasmine.getEnv().addReporter(new AllureReporter({
    allureReport: {
        resultsDir: 'allure-results'
    }
}));

conf.js 文件中的所需设置:

browser.manage().timeouts().implicitlyWait(15000);
var AllureReporter = require('jasmine-allure-reporter');
jasmine.getEnv().addReporter(new AllureReporter({
    allureReport: {
        resultsDir: '~/e2e/reports/project_name/allure_results/allure-results'
    }
}));

我为您找到了答案:

\node_modules\jasmine-allure-reporter\src\jasmine2AllureReporter.js下有一个名为Jasmine2AllureReporter.js的文件。

打开文件:

更改以下内容并尝试:

正如我举的例子 D:\K\allure-results

pluginConfig.resultsDirvar outDir下改成一样,就可以了。

function Jasmine2AllureReporter(userDefinedConfig, allureReporter) {
var Status = {PASSED: 'passed', FAILED: 'failed', BROKEN: 'broken', PENDING: 'pending'};
this.allure = allureReporter || allure;
this.configure = function(userDefinedConfig) {
var pluginConfig = {};
userDefinedConfig = userDefinedConfig || {};
pluginConfig.resultsDir = 'D:\K\allure-results';
//pluginConfig.resultsDir = userDefinedConfig.resultsDir || 'allure-results';
pluginConfig.basePath = userDefinedConfig.basePath || '.';
// var outDir = path.resolve(pluginConfig.basePath, pluginConfig.resultsDir);
var outDir = 'D:\K\allure-results';
this.allure.setOptions({targetDir: outDir});
};