Пока заявление в запросах веб-сервиса - PullRequest
0 голосов
/ 09 января 2019

Я новичок в студии Каталон. Я пытаюсь сделать заявление в PUT Request. Я сделал все хорошо, но я хочу знать, возможно ли каким-то образом получить только 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»}

PS Я пытался поймать StatementId так: String statement_id = request_object.statementId, также сделал это: String statement_id = request_object.getName("statementId"), понял, что в request_object хранится только запрос и ничего больше, но в ответе нет такой вещи, чтобы получить только один объект.

1 Ответ

0 голосов
/ 09 января 2019

Вам необходимо использовать JsonSlurper с bodyContent:

import groovy.json.JsonSlurper
JsonSlurper slurper = new JsonSlurper()
Map parsedJson = slurper.parseText(bodyContent)

, а затем попробуйте получить statement_id:

String statement_id = parsedJson.statement_id
...