Groovy Katalon是否可以断言响应=数据?

Groovy Katalon是否可以断言响应=数据?,groovy,automated-tests,assertion,katalon-studio,data-driven-tests,Groovy,Automated Tests,Assertion,Katalon Studio,Data Driven Tests,我将json测试数据存储在excel文件中。 使用ApachePOI读取json数据并将其解析为请求体,从katalon调用它 然后我编写了许多断言行(groovy assert)来验证每一行响应=测试数据 例如: Assert test.responseText.fieldA==“abc” 断言test.responseText.fieldB=='xyz' 如果我总共有20个字段,以此类推 我认为有更好的方法来利用存储在数据文件中的json数据。 断言响应=测试数据。因此,我可以节省大量的时间

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

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

例如: Assert 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):


可以使用for循环在excel文件中循环。为什么要将json数据存储到excel文件中?你能发布你的代码的例子吗?我们有相当多的服务数据。将它们排序到一个文件中,以便在任何键或值发生更改时进行修改。你能分享for循环的逻辑吗?我不能让循环在excel文件中自由搜索。请检查提供的答案。好主意。我会说期望值是固定的,由我定义,在测试执行之前预加载。当前值应为api响应,即测试执行后获得的值。问题:我需要找到一种方法来动态地将它们存储在数据文件中。katalon数据文件支持这一点吗?测试用例01,已执行,插入数据文件,第1行…然后比较。测试用例02,将结果存储到数据文件第2行…等等。我认为数据文件不允许您以本机方式写入它们。但是使用Groovy肯定有一种方法可以做到这一点。好吧,那么我必须考虑一下。使用我当前的POI方法,但写入文件。然后再读一遍。
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