以下是我的回复..
jsonCallback({"validationErrors":null,
"response":{"type":"PreTokenResponse",
"preToken":"43a81ef8-693d-4e3d-ad83-f8ed76f39756",
"errors":null},
"exception":null});
现在我使用
testRunner.testCase.getTestStepByName("xxx").getPropertyValue("response")
上面的脚本正在提取响应。现在我想提取“preToken”值。
怎么做?
由于
答案 0 :(得分:0)
我猜你试过了:
testRunner.testCase.getTestStepByName("xxx").getPropertyValue("response").preToken
答案 1 :(得分:0)
奇怪的是,你的响应而不是纯粹的 Json 对象,有jsonCallback()
字符串包裹你的 Json 。
假设你的回复有这个文本,你必须在解析 Json 对象之前删除它,一旦删除它你可以使用JsonSlurper
解析它并访问你的{ {1}}元素使用正确的路径:
preToken
我仅将您的响应用作字符串,以便在 SOAPUI 中为您提供一个工作示例,它必须相同,但从testStep的属性中获取import groovy.json.JsonSlurper
def response = '''jsonCallback({"validationErrors":null,
"response":{"type":"PreTokenResponse",
"preToken":"43a81ef8-693d-4e3d-ad83-f8ed76f39756",
"errors":null},
"exception":null});'''
// remove the unnecesary data
response = response - 'jsonCallback('
response = response - ');'
// now you've a correct json
log.info response
// parse the json
def json = new JsonSlurper().parseText(response)
// access the desired value
log.info json.response.preToken
assert '43a81ef8-693d-4e3d-ad83-f8ed76f39756' == json.response.preToken
:
response