定制protractor-html-screenshot-reporter

时间:2018-04-27 06:40:33

标签: html protractor

我正在使用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'.

我获得通过/失败而不是真/假,但失败也是绿色。

我应该如何处理这种情况。欢迎任何建议

1 个答案:

答案 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文件中生成。