如何在nightwatch自定义报告中重命名测试用例

时间:2017-08-23 08:27:14

标签: nightwatch.js

nightwatch报告返回测试用例名称。 我有几百个&数百个测试用例和更容易管理的我选择用代码编号命名它们而不是命名它们。

现在,我想在每个测试用例的报告中添加自定义描述!

有没有好办法呢?

1 个答案:

答案 0 :(得分:0)

没有提示,但至少我会分享我是如何做到的。

我在nightwatch.conf.js中添加了一个全局变量类型Map,它将包含我的所有描述。

[...]
    test_settings: {
        default: {
            globals: {
                [...]
                testcaseDescription: new Map()
            },
[...]

然后,对于每个测试套件,我正在创建用于调试日志的描述

const DESCRIPTION = new Map();
DESCRIPTION.set('CASEXXX', "acceptance criteria for the casexxx");

然后使用自定义命令

将它们推送到全局变量上
browser.addDescription(DESCRIPTION)

自定义命令非常简单:

exports.command = function(description) {
    let self = this;

    self.execute(
        function() {},
        function() {
            description.forEach(function(value, key) {
                self.globals.testcaseDescription.set(key, value);
            });
        }
    );
    return this;
};

最后在我的reporter.js中我使用方法addDescriptionIntoResults(寻找casename并添加描述)将全局var描述注入结果中

testcase.description = options.globals.testcaseDescription.get(casename) || 'No Description';

并将其发送到把手,这些把手会生成详细报告,其中包含每个测试用例的说明\ o /