【问题标题】:Generate simple html based on jasmine-allure-reporter基于 jasmine-allure-reporter 生成简单的 html
【发布时间】:2017-03-06 09:10:40
【问题描述】:

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

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

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

【问题讨论】:

    标签: jasmine protractor report allure


    【解决方案1】:

    希望您已将其添加到您的 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 文件。

    在你的机器上安装 Maven(这是强制性的)

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

    mvn site -Dallure.results_pattern=allure-results
    

    上述命令成功运行后,

    前往

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

    并打开 index.html

    看起来是这样的:

    【讨论】:

    • 只在测试失败时截屏怎么办?可以在 jasmine-allure-reporter 中设置吗?
    • 可以手动创建。但这将是一项艰巨的任务。一般有多少测试用例失败?范围是多少?
    • allure 保存所有截图的主要问题是服务器上的空间。一旦完成大量的测试运行,它将很快耗尽空间。目前该报告需要大约。 29 MB 空间。无论如何都是巨大的。
    • 截图占用了大量空间。如果大小有问题,您也可以生成不带屏幕截图的报告。
    • 这正是我们所需要的,但仍然只有失败测试的截图。我该如何配置?
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-08
      • 2022-10-23
      • 2017-10-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-27
      • 2015-10-23
      相关资源
      最近更新 更多