看起来你想创建一个自定义的Jasmine测试报告。在Jasmine文档中详细介绍了报告器API。
由于你只想处理测试结果,因此只需要实现specDone
回调函数。你的报告器将类似于以下内容:
var myReporter = {
specDone: function(results)( {
writeToFile('Suite started: ' + result.description + ' whose full description is: ' + result.fullName);
}
};
jasmine.getEnv().addReporter(myReporter);
通过NPM安装protractor-jasmine2-html-reporter
npm install protractor-jasmine2-html-reporter --save-dev
var Jasmine2HtmlReporter = require('protractor-jasmine2-html-reporter');
// Setup the report before any tests start
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); },
// Close the report after all tests finish
afterLaunch: function(exitCode) { return new Promise(function(resolve) { reporter.afterLaunch(resolve.bind(this, exitCode)); }); },
我认为我的项目部分地能够满足您的要求,我想提供更多可执行解决方案。
使用这个项目,您可以自动生成可读性测试报告。您需要通过NPM安装一个额外的模块,并在您的protractor配置文件中添加几行代码。
http://vorachet.github.io/protractor-build-verification-testreport/
摘录:
protractor-build-verification-testreport
在接受新的构建之前,测试人员会进行构建验证测试(冒烟测试、置信度测试、理智测试)。构建验证测试也是识别和修复软件缺陷最具成本效益的方法之一。
protractor-build-verification-testreport提供了一个基于Protractor环境生成可读性HTML测试报告的Node.js模块。如果Protractor是您的构建验证测试过程中的一个设备,protractor-build-verification-testreport可以帮助您有效地完成测试报告任务。
可邮件发送的报告
导入:var Jasmine2HtmlReporter = require('protractor-jasmine2-html-reporter');
jasmine.getEnv().addReporter(new Jasmine2HtmlReporter({ savePath: './emailable-report/', consolidateAll: false, screenshotsFolder: 'reportsscreenshots', takeScreenshots: true, takeScreenshotsOnlyOnFailures: true }));
摘要报告
导入:var HtmlReporter = require('protractor-beautiful-reporter');
jasmine.getEnv().addReporter(new HtmlReporter({ baseDirectory: './summary-report', screenshotsSubfolder: 'images', jsonsSubfolder: 'jsons', takeScreenShotsOnlyForFailedSpecs: true, docTitle: 'NAVA 2.1平板站点自动化执行摘要..' }).getJasmine2Reporter());