【问题标题】:Protractor test reports量角器测试报告
【发布时间】:2015-06-22 23:11:46
【问题描述】:

我已经建立了相当多的量角器测试套件,我希望将其实现到 jenkins 中,以便在每个新版本中运行这些测试。要处理输出,仅将其输出到文本文件已经不够了,例如protractor conf.js --suite [suiteName] > output.text

我找到了量角器记者herehere,但我还没有找到任何关于在不使用外部框架/库的情况下手动操作量角器输出以更清晰、更有吸引力地表示它的信息。

感谢任何意见!

【问题讨论】:

标签: jasmine output protractor


【解决方案1】:

听起来您想创建一个自定义 Jasmine 报告器。报告者 API 在Jasmine docs 中进行了说明。

由于您只想处理测试结果,您只需要实现specDone 回调。你的记者看起来像这样:

var myReporter = {
  specDone: function(results)( {
    writeToFile('Suite started: ' + result.description + ' whose full description is: ' + result.fullName);
  }
};

然后你可以在你的 conf 文件中添加你的记者到 Jasmine:

jasmine.getEnv().addReporter(myReporter);

【讨论】:

    【解决方案2】:

    我认为我的项目可以部分满足您的要求,我想为您提供更多可执行的解决方案。

    您可以使用此项目自动生成可读性测试报告。您必须使用 NPM 安装一个附加模块,并在量角器配置文件中添加几行。

    http://vorachet.github.io/protractor-build-verification-testreport/

    摘录:

    量角器构建验证测试报告

    构建验证测试(冒烟测试、置信度测试、健全性 测试)由测试人员在接受新版本之前完成。建造 验证测试也是最具成本效益的方法之一 识别和修复软件中的缺陷。

    protractor-build-verification-testreport 提供了一个 Node.js 模块 用于生成基于 Protractor 的可读性 HTML 测试报告 环境。如果 Protractor 是您构建验证中的设备 测试过程,protractor-build-verification-testreport 可以帮助你 有效地完成测试报告任务。

    【讨论】:

      【解决方案3】:

      可通过电子邮件发送的报告

      import: var Jasmine2HtmlReporter = require('protractor-jasmine2-html-reporter');
      jasmine.getEnv().addReporter(新 Jasmine2HtmlReporter({ savePath: './emailable-report/', 巩固所有:假, screenshotsFolder: '报告截图', 截图:真, takeScreenshotsOnlyOnFailures: 真 }));

      总结报告

      import: var HtmlReporter = require('protractor-beautiful-reporter');
      jasmine.getEnv().addReporter(new HtmlReporter({ baseDirectory: './summary-report', screenshotsSubfolder: 'images', jsons子文件夹:'jsons', takeScreenShotsOnlyForFailedSpecs: true, docTitle: 'NAVA 2.1 平板电脑站点自动化执行摘要..' }).getJasmine2Reporter());
      • 量角器-jasmine2-html-reporter
      • 量角器-美丽-记者项目

      【讨论】:

        【解决方案4】:

        通过 NPM 安装 protractor-jasmine2-html-reporter

        npm install protractor-jasmine2-html-reporter --save-dev
        

        在你的 Protractor 配置文件中,在 jasmine 中注册 protractor-jasmine2-html-reporter:

        var Jasmine2HtmlReporter = require('protractor-jasmine2-html-reporter');
        

        // 在任何测试开始之前设置报告

        beforeLaunch: function() {
            return new Promise(function(resolve) {
                reporter.beforeLaunch(resolve);
            })
        },
        
        
        onPrepare: function() {
            browser.driver.manage().window().maximize();
            jasmine.getEnv().addReporter(
                new Jasmine2HtmlReporter({
                    savePath: 'target/screenshots', // put your destination file
                })
            );
        
        
        
            jasmine.getEnv().addReporter(new SpecReporter({
                displayFailuresSummary: true,
                displayFailedSpec: true,
                displaySuiteNumber: true,
                displaySpecDuration: true
            }));
        
            jasmine.getEnv().addReporter(reporter);
        },
        

        //所有测试完成后关闭报告

        afterLaunch: function(exitCode) {
            return new Promise(function(resolve) {
                reporter.afterLaunch(resolve.bind(this, exitCode));
            });
        },
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2015-11-06
          • 1970-01-01
          • 1970-01-01
          • 2013-05-05
          • 2018-05-08
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多