Katalon 可以断言 response = data 吗?

Katalon Posibble to assert response = data?

我将 json 测试数据存储在 excel 文件中。 利用apache POI读取json数据并将其解析为请求体,从katalon调用它。

然后我写了很多行断言(groovy断言)来验证每一行响应=测试数据。

示例: 断言 test.responseText.fieldA == 'abc' 断言 test.responseText.fieldB == 'xyz' 依此类推,如果我总共有 20 个字段。

我在想有更好的方法来利用存储在数据文件中的 json 数据。 断言响应=测试数据。所以我可以节省很多时间来键入每一行并修改它们是测试数据改变了。

请问是否可以实现?

这是一个示例:您有两个 excel 工作表 - 当前值和预期值(您正在测试的值)。

当前值:

No. | key | value
----+-----+------
1     a     100
2     b     6
3     c     13

预期值:

No. | key | value
----+-----+------
1     a     100
2     b     6
3     c     14

您需要将这些添加到数据文件中:

以下代码将比较 for 循环中的值,断言将在第三个 运行 (13!=14) 时失败:

def expectedData = findTestData("expected")
def currentData = findTestData("current")

for(i=1; i<=currentData.getRowNumbers(); i++){
    assert currentData.getValue(2, i) == expectedData.getValue(2, i)
}

失败消息应如下所示:

2020-07-02 15:16:40.471 ERROR c.k.katalon.core.main.TestCaseExecutor   - ❌ Test Cases/table comparison FAILED.
Reason:
Assertion failed: 

assert currentData.getValue(2, i) == expectedData.getValue(2, i)
       |           |           |  |  |            |           |
       |           14          3  |  |            13          3
       |                          |  com.kms.katalon.core.testdata.reader.SheetPOI@5aabbb29
       |                          false
       com.kms.katalon.core.testdata.reader.SheetPOI@72c927f1