我正在使用protractor-html-screenshot-reporter生成HTML报告。 我在Passed列下得到false / true但我想要Passed / Failed。
Expected - Failed(in red) or Passed(in green)
Actual - False(in red) or True(in green)
代码段 -
function defaultMetaDataBuilder(spec, descriptions, results, capabilities) {
var metaData = {
description: descriptions.join(' ')
, passed: results.passed()
, os: capabilities.caps_.platform
, browser: {
name: capabilities.caps_.browserName
, version: capabilities.caps_.version
}
, message: ''
}
如果我用此代码替换传递的:results.passed() -
passed: results.passed() ? 'Passed' : 'Failed'.
我获得通过/失败而不是真/假,但失败也是绿色。
我应该如何处理这种情况。欢迎任何建议
答案 0 :(得分:0)
您必须更改页面的呈现方式。查看protractor-html-screenshot-reporter的源代码,我可以看到该页面是在javascript文件中完全创建的。
将此库源代码转至jsonparser.js
(protractor-html-screenshot-reporter / lib / jsonparser.js)并修改function generateHTML(data)
。目前,它会查看data.passed
以查看此布尔值是true
还是false
。基于它生成颜色并将此值打印到列。您想要将此行编辑为以下内容:
str += '<td class="status-col" style="color:#fff;background-color: '+ bgColor+'">' + (data.passed ? "Passed" : "Failed") + '</td>';
就个人而言,如果您希望更多地修改此页面,我建议您将此代码移至html页面,而不是在javascript文件中生成。