基于jasmine-allure-reporter生成简单的html

Generate simple html based on jasmine-allure-reporter

我正在使用 jasmine-allure-reporter,报告非常棒。唯一对记者的抱怨是我错过了仅允许保存失败的屏幕截图并可以通过电子邮件发送的选项。

我知道这是不可能的: How to send an email of allure report?

我的问题是我是否可以根据诱惑报告以某种方式生成一个包含少量数据的简单 html 文件,以便我能够通过电子邮件将其发送给相关人员。

希望您已将此添加到您的 conf 文件中:

onPrepare: function () {
    browser.manage().timeouts().implicitlyWait(15000);
    var AllureReporter = require('jasmine-allure-reporter');
    jasmine.getEnv().addReporter(new AllureReporter({
        allureReport: {
            resultsDir: 'allure-results'
        }
    }));
    jasmine.getEnv().afterEach(function (done) {
        browser.takeScreenshot().then(function (png) {
            allure.createAttachment('Screenshot', function () {
                return new Buffer(png, 'base64');
            }, 'image/png')();
            done();
        });
    });

}

运行下载文件后,转到 allure-results,您可以在其中查看屏幕截图和 xml 报告。

复制粘贴文件夹,即 allure-results 到 \node_modules\jasmine-allure-reporter,您可以在其中看到 pom.xml 文件。

Install Maven in your machine (This is mandatory)

现在从相同的路径,即 \node_modules\jasmine-allure-reporter 运行 以下命令

mvn site -Dallure.results_pattern=allure-results

以上命令成功运行后,

Go to

\node_modules\jasmine-allure-reporter\target\site\allure-maven-plugin

并打开 index.html

这是它的样子:

以下代码适用于我。它只截取失败测试的屏幕截图。

var originalAddExpectationResult = jasmine.Spec.prototype.addExpectationResult;
jasmine.Spec.prototype.addExpectationResult = function () {
    if (!arguments[0]) {
        browser.takeScreenshot().then(function (png) {
            allure.createAttachment('Screenshot', function () {
                return new Buffer(png, 'base64')
            }, 'image/png')();
        })
    }
    return originalAddExpectationResult.apply(this, arguments);
};

var AllureReporter = require('jasmine-allure-reporter');
jasmine.getEnv().addReporter(new AllureReporter({
    resultsDir: 'allure-results'
}));