在嵌套 json 中断言计数
Assert count in nested json
我有以下 Katalon 代码来确保 API 的计数响应是正确的
但是我遇到了一个错误,所以我需要帮助来查看我的代码中缺少什么。
No signature of method: Script1568233794882.assertThat() is applicable for argument types: (java.lang.Integer) values: [29]
response text:
{
"Error": {
"A": {
"dependency": [
],
"duplicateRows": [
],
"requiredFieldRows": [
]
}
},
"Good": {
"A": {
"count": 29
},
"B": {
"count": 35
},
"C": {
"count": 37
}
},
"type": "Test"
}
我试过了
def response = WS.sendRequest(requestObject)
def responseList = new JsonSlurper().parseText(response.getResponseText())
println('response text: \n' + JsonOutput.prettyPrint(JsonOutput.toJson(responseList)))
assertThat(responseList.Good.A.count).isEqualTo("29")
也尝试过使用 [0],但也无法正常工作,出现错误 java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer
assertThat(responseList.Good[0].A).isEqualTo("29")
尝试使用简单的 Groovy 断言。将您的断言行更改为以下内容:
assert responseList.Good.A.count == 29
我有以下 Katalon 代码来确保 API 的计数响应是正确的 但是我遇到了一个错误,所以我需要帮助来查看我的代码中缺少什么。
No signature of method: Script1568233794882.assertThat() is applicable for argument types: (java.lang.Integer) values: [29]
response text:
{
"Error": {
"A": {
"dependency": [
],
"duplicateRows": [
],
"requiredFieldRows": [
]
}
},
"Good": {
"A": {
"count": 29
},
"B": {
"count": 35
},
"C": {
"count": 37
}
},
"type": "Test"
}
我试过了
def response = WS.sendRequest(requestObject)
def responseList = new JsonSlurper().parseText(response.getResponseText())
println('response text: \n' + JsonOutput.prettyPrint(JsonOutput.toJson(responseList)))
assertThat(responseList.Good.A.count).isEqualTo("29")
也尝试过使用 [0],但也无法正常工作,出现错误 java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer
assertThat(responseList.Good[0].A).isEqualTo("29")
尝试使用简单的 Groovy 断言。将您的断言行更改为以下内容:
assert responseList.Good.A.count == 29