我们如何在量角器中为不同的规范文件制作单独的报告?
multiCapabilities: [{
'browserName': 'chrome'
}, {
'browserName': 'firefox'
}
{
'browserName': 'internet explorer'
}],
framework: 'jasmine',
specs: ['TC_2.js','TC_3.js'],
目前,我的代码将为" chrome"生成HTML报告。在第一次迭代中执行。当它进行下一次迭代时,它将为" FF"生成报告。在第三次迭代中,它将为" IE"生成报告。但是最后我得到最后一次迭代(即第3次)Internet Explorer在基本位置的HTML报告。因为最后一次迭代取代了之前迭代的报告。
有没有办法获得所有3份报告?(即Chrome,FF和IE报告)
protractor-html-screenshot-reporter 是我正在使用的报告。
Following is my code:
onPrepare: function() {
beforeEach(function() {
browser.driver.manage().window().setSize(1280, 1024);
});
jasmine.getEnv().addReporter(new HtmlReporter({
baseDirectory: 'D:/Manoj/TestReport3/',
docTitle: 'Test Case Execution Details',
docName: 'BYTestReport.html',
//Meta builder
metaDataBuilder: function(spec, descriptions, results, capabilities){
var metaData = {
description: descriptions.join('|'),
passed: results.passed(),
os: 'Windows 7',
browser: {
name: capabilities.caps_.browserName
, version: capabilities.caps_.version
}
};
if(results.items_.length > 0) {
var result = results.items_[0];
metaData.message = result.message;
metaData.trace = result.trace.stack;
}
return metaData;
} // Meta Builder ends
}));
},
答案 0 :(得分:2)
是的,我使用browserName作为html报告的文件夹名称,以及jsons和pngs:
在django.db.utils.OperationalError: (2013, 'Lost connection to MySQL server during query')
onPrepare: function(){
并从您已有的地方删除browser.getCapabilities().then(function (cap) {
console.log(cap);
browser.browserName = cap.caps_.browserName;
jasmine.getEnv().addReporter(new HtmlReporter({
baseDirectory: 'target/'+browser.browserName+'/angular-test-result/',
takeScreenShotsOnlyForFailedSpecs: true,
preserveDirectory: false
}));
});
您的代码更新为protractor-html-screenshot-reporter:
addReporter
顺便说一句,你必须安装记者:var HtmlReporter = require('protractor-html-screenshot-reporter');
onPrepare: function() {
browser.driver.manage().window().setSize(1280, 1024);
browser.getCapabilities().then(function (cap) {
console.log(cap);
browser.browserName = cap.caps_.browserName;
jasmine.getEnv().addReporter(new HtmlReporter({
baseDirectory: 'target/'+browser.browserName+'/angular-test-result/',
takeScreenShotsOnlyForFailedSpecs: true,
preserveDirectory: false
}));
});
}
答案 1 :(得分:0)
您可以为特定规格创建不同的量角器配置文件,并使用package.json中指定的不同命令(通过将配置文件作为参数)来触发特定的e2e诉讼。
ex:“ specifice2e”:“ \” ng e2e --protractorConfig = e2e \ specificprotractor.conf.js“
在配置文件中,您可以提及要生成单独报告的文件夹名称。