Directory 量角器:定义位于其他位置的诱惑报告器结果目录

Directory 量角器:定义位于其他位置的诱惑报告器结果目录,directory,protractor,report,allure,Directory,Protractor,Report,Allure,我在用量角器和jasmine allure reporter。我正在运行bash脚本中的量角器,问题在于resultsDir,因为我希望在特定文件夹中生成结果。目前它们在~/e2e/project\u name/conf/allure results/文件夹中生成。我需要的是在~/e2e/reports/project\u name/allure\u results/中生成它们。只需在resultsDir参数中输入完整路径resultsDir:'/home/e2e/reports/project

我在用量角器和jasmine allure reporter。我正在运行bash脚本中的量角器,问题在于resultsDir,因为我希望在特定文件夹中生成结果。目前它们在~/e2e/project\u name/conf/allure results/文件夹中生成。我需要的是在
~/e2e/reports/project\u name/allure\u results/
中生成它们。只需在resultsDir参数中输入完整路径
resultsDir:'/home/e2e/reports/project\u 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'
    }
}));
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'
    }
}));
conf.js文件中所需的设置:

browser.manage().timeouts().implicitlyWait(15000);
var AllureReporter = require('jasmine-allure-reporter');
jasmine.getEnv().addReporter(new AllureReporter({
    allureReport: {
        resultsDir: 'allure-results'
    }
}));
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\u modules\jasmine allure reporter\src\Jasmine2AllureReporter.js
下有一个名为
Jasmine2AllureReporter.js的文件

打开文件:

更改以下内容并重试:

正如我所举的
D:\\K\\allure results

pluginFig.resultsDir
var 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});
};

亲爱的,它应该有用。不幸的是它没有。无论我在resultsDir参数中写什么,它都会在
~/e2e/project\u name/conf/allure results/
中生成结果。例如,如果我将它设置为
~/e2e/doesnot\u exist\u folder\u name/conf/allure results/
,它仍然会在
~/e2e/project\u name/conf/allure results/
中生成它们。它对您有用吗?这可能有用,但在我的情况下不是。也就是说,假设我们有project_name_1和project_name_2。所以我将有一个名为reports/project\u name\u 1和reports/project\u name\u 2的文件夹,每个文件夹都包含自己的结果。在您发送的示例中,这是不可能的。因此,我的主要目标是让报告按项目分开。例如,在项目1的conf.js中,
resultsDir:'~/…/results/project\u name\u 1'
文件夹,以及项目2的conf.js中,
resultsDir:'~/…results/project\u name\u 2'
文件夹。目前为10。你可能还有其他建议吗?也许你可以创建10个jasmine allure reporter,比如jasmine-allure-reporter-1等等。然后在conf中也更改它
var AllureReporter=require('jasmine-allure-reporter-1')这样您将有10个单独的
jasmine2AllureReporter.js
文件,其中有一个文件
node\u modules\jasmine allure reporter\test\unit\allureReporter.spec.js
,其中
var reporter=require('../../src/jasmine2AllureReporter.js').jasmine2AllureReporter
也许你可以创建10
Jasmine2AllureReporter.js
并对其进行个性化设置,试试看。说得好,但我会用另一种方式。你的建议的问题是,最终我们可以得到N个诱惑记者,它们都是相同的,只是每个人的resultsDir是不同的。因此,我将在每个项目文件夹中运行每个bash脚本,这不是一个优雅的解决方案,但目前是可行的。