我需要生成 Jnuit 样式的 XML 和 HTML 报告,但只需要 1 个浏览器。如何为所有浏览器获取它。在 protractor-html-reporter-2 的帮助下使用 XML 创建 HTML。
jasmine.getEnv().addReporter(
new jasmineReporters.JUnitXmlReporter({
consolidateAll: true,
savePath: './report/',
})
);
},
我需要生成 Jnuit 样式的 XML 和 HTML 报告,但只需要 1 个浏览器。如何为所有浏览器获取它。在 protractor-html-reporter-2 的帮助下使用 XML 创建 HTML。
jasmine.getEnv().addReporter(
new jasmineReporters.JUnitXmlReporter({
consolidateAll: true,
savePath: './report/',
})
);
},
我们可以使用 Jasmine 报告器创建 XML 报告,然后使用 HTML 报告器将这些 XML 转换为 HTML。然而 HTML 并没有以更漂亮的方式显示结果。
建议:您可以使用 Jasmine 记者创建 JUnit 风格的 XML 报告,对于 HTML,您可以使用 Protractor 美丽的记者。
在 Protractor 配置的 OnPrepare() 方法中:
browser.driver.manage().window().maximize();
browser.get(browserConfig.url);
// Getting browserName from config for File name
browser.getProcessedConfig().then(browser => {
const browserName = browser.capabilities.browserName;
const junitReporter = new jasmineReporters.JUnitXmlReporter({
consolidateAll: true,
savePath: 'testresults',
filePrefix: `${browserName}.xmloutput`
});
jasmine.getEnv().addReporter(junitReporter);
});
jasmine.getEnv().addReporter(new htmlReporter(reporter).getJasmine2Reporter());
和记者
const reporter = new htmlReporter({
baseDirectory: 'Execution_HTMLReports',
// tslint:disable-next-line:typedef
pathBuilder: function pathBuilder(spec, descriptions, results, capabilities) {
// tslint:disable-next-line:one-variable-per-declaration
const currentDate = new Date(),
day = currentDate.getDate(),
month = currentDate.getMonth() + 1,
year = currentDate.getFullYear();
const validDescriptions = descriptions.map(description => {
return description.replace('/', '@');
});
return path.join(day + '-' + month + '-' + year, capabilities.get('browserName'), validDescriptions.join('-'));
},
docName: _env + '_test-report.html',
screenshotsSubfolder: 'screenshotsOnFailure',
takeScreenShotsOnlyForFailedSpecs: true,
excludeSkippedSpecs: true,
preserveDirectory: false,
gatherBrowserLogs: true,
jsonsSubfolder: 'jsonsmetadata',
clientDefaults: {
showTotalDurationIn: 'header',
totalDurationFormat: 'h:m:s',
columnSettings: {
displaySessionId: false,
inlineScreenshots: false
}
}
});