json automation automated-tests e2e-testing testcafe

automation - 使用JSON的TestCafe中的数据驱动测试可以与每个测试具有多个属性的JSON一起使用吗

发布于 2020-03-27 16:07:28

到目前为止,基于此示例,我已经有很多数据驱动的测试已经用testcafe编写。

https://devexpress.github.io/testcafe/documentation/recipes/create-data-driven-tests.html

是否有人尝试使用JSON文件(如下面的示例)执行带有testcafe的JSON数据驱动的测试?

[
       {
            "testcasename": "Check for Rate Classes -1",
            "rateclasses": "{
                   "classname": "SC",
                   "classvalue": 1
             }
        },

]

这是我用来遍历JSON文件的代码。现在的难题是,是否可以编写一个多级数据集例程?

dataSet.forEach(userdata => {
    test(`Enter '${userdata.testcasename}'`, async t => {
        my code here
    });
});

看起来像

dataSet.forEach(userdata => {
    test(`Enter '${userdata.testcasename}'`, async t => {
              some code here for the 1st level attributes
               dataSet.forEach(userdatasubattributes => {
                some code here for the repeating attributes for each test case
                }

       });
});

任何指针都会有所帮助。

更新

发现该构造需要像这样工作:

[
       {
            "testcasename": "Check for Rate Classes -1",
            "rateclasses": " [
             {
                   "classname": "SC",
                   "classvalue": 1
             }
          ] 
        }
]

查看更多

查看更多

提问者
Anjana
被浏览
23
Anjana 2020-02-05 10:42

这就是我解决问题的方法:

dataSet.forEach(userdata => {
        test(`Enter '${userdata.testcasename}'`, async t => {  
            for(let i = 0, l = userdata.rateclasses.length; i < l; i++) {
                console.log ("Class Name", userdata.rateclasses[i].classname) 
                console.log ("Class Value", userdata.rateclasses[i].classvalue) 

            }
        });
    });