Web 服务请求中的 while 语句
While statement in web service requests
我是katalon工作室的新人。我想在 PUT 请求中做 while 语句。我把一切都做好了,但我想知道是否有可能以某种方式只获得 statementIds,如果每个 statementId 都不同,就计算它们。这是我的脚本。
我只提出了 5 个请求,我可以手动检查 statementId 是否不同,但是当我提出 100 个或更多请求时,将很难手动检查它。我认为,我需要捕获 statementId。
WS.sendRequest(findTestObject('Object Repository/PUT_Count'))
RequestObject request_object = findTestObject('PUT_Count')
String startDate = "2018-02-02"
String endDate = "2019-01-01"
boolean inEquivalent = false
while(GlobalVariable.accountId < 5) {
request_object.setRestUrl(String.format(request_object.getRestUrl(), GlobalVariable.accountId, startDate, inEquivalent))
ResponseObject response = WS.sendRequestAndVerify(request_object)
WS.verifyResponseStatusCode(response, 200)
int statusCode = response.getStatusCode()
String bodyContent = response.getResponseBodyContent()
System.out.println((('Status Code: ' + statusCode) + ':') + bodyContent)
GlobalVariable.accountId++
}
输出为:状态代码:200:{“statementId”:“11dbfd2f-3d30-493c-b41a-c40a83e41269”,“accountId”:123,“accountIban”:“12345”,“ccy”:“One ”,“startDate”:“2018-12-10”,“endDate”:“2019-01-09”,“startBalance”:100.0,“endBalance”:1000.0,“startPointer”:“0094230492304923090Anffjle39440583490434rieklfrlfkjedtu8er9t7548684568t9fkgmndflkgr5908yt546”}
P.S 我试图捕捉 statementId,所以:String statement_id = request_object.statementId
,也做到了:String statement_id = request_object.getName("statementId")
,意识到在 request_object 中只存储请求,没有其他, 但是response没有这样的东西只能得到一个对象。
您需要将 JsonSlurper
与 bodyContent
一起使用:
import groovy.json.JsonSlurper
JsonSlurper slurper = new JsonSlurper()
Map parsedJson = slurper.parseText(bodyContent)
然后尝试获取 statement_id
:
String statement_id = parsedJson.statement_id
我是katalon工作室的新人。我想在 PUT 请求中做 while 语句。我把一切都做好了,但我想知道是否有可能以某种方式只获得 statementIds,如果每个 statementId 都不同,就计算它们。这是我的脚本。
我只提出了 5 个请求,我可以手动检查 statementId 是否不同,但是当我提出 100 个或更多请求时,将很难手动检查它。我认为,我需要捕获 statementId。
WS.sendRequest(findTestObject('Object Repository/PUT_Count'))
RequestObject request_object = findTestObject('PUT_Count')
String startDate = "2018-02-02"
String endDate = "2019-01-01"
boolean inEquivalent = false
while(GlobalVariable.accountId < 5) {
request_object.setRestUrl(String.format(request_object.getRestUrl(), GlobalVariable.accountId, startDate, inEquivalent))
ResponseObject response = WS.sendRequestAndVerify(request_object)
WS.verifyResponseStatusCode(response, 200)
int statusCode = response.getStatusCode()
String bodyContent = response.getResponseBodyContent()
System.out.println((('Status Code: ' + statusCode) + ':') + bodyContent)
GlobalVariable.accountId++
}
输出为:状态代码:200:{“statementId”:“11dbfd2f-3d30-493c-b41a-c40a83e41269”,“accountId”:123,“accountIban”:“12345”,“ccy”:“One ”,“startDate”:“2018-12-10”,“endDate”:“2019-01-09”,“startBalance”:100.0,“endBalance”:1000.0,“startPointer”:“0094230492304923090Anffjle39440583490434rieklfrlfkjedtu8er9t7548684568t9fkgmndflkgr5908yt546”}
P.S 我试图捕捉 statementId,所以:String statement_id = request_object.statementId
,也做到了:String statement_id = request_object.getName("statementId")
,意识到在 request_object 中只存储请求,没有其他, 但是response没有这样的东西只能得到一个对象。
您需要将 JsonSlurper
与 bodyContent
一起使用:
import groovy.json.JsonSlurper
JsonSlurper slurper = new JsonSlurper()
Map parsedJson = slurper.parseText(bodyContent)
然后尝试获取 statement_id
:
String statement_id = parsedJson.statement_id