将REST响应拆分为groovy和soapUI中的单独字段

时间:2014-07-20 19:55:45

标签: rest groovy soapui

我正在研究SoapUI中包含REST和SOAP请求的测试套件。 该方案以REST请求开始。从响应中我需要取用户名值。 答复如下:

{
   "user_name": "Z.ZCLGN",
   "first_name": "Tester1",
   "user_code": "19225",
   "last_name": "QA"
}

我需要“Z.ZCLGN”。如何拆分用户名值以便将其转移到下一个Soap Request?我应该像我想做的那样使用拆分,如果是这样的话?

到目前为止,我在一个时髦的剧本中得到了什么:

def responseAsXml = context.expand( '${GetToken#ResponseAsXml#declare namespace ns1=\'https://10.1.9.13/cvbs/oauth2/token\'; //ns1:Response[1]/ns1:user[1]}' )
log.info responseAsXml
def (user_name, first_name, Tester1, user_code, last_name) = responseAsXml.split("")

1 个答案:

答案 0 :(得分:1)

你不需要Groovy脚本。 使用Property Transfer。

http://www.soapui.org/Functional-Testing/transferring-property-values.html

但如果你非常喜欢编写脚本,那么你仍然想要这样做,你可以去:

def json = new JsonSlurper().parseText(jsonText)
def userName = json.user_name
// now use userName in some other request by setting a property, for exampl
testRunner.testCase.setPropertyValue( "MyProp", userName )

有关Json解析的更多帮助:

http://mrhaki.blogspot.se/2011/04/groovy-goodness-parse-json-with.html

但我也建议阅读SoapUI初学者的提示:

http://www.soapui.org/Getting-Started/10-tips-for-the-soapui-beginner.html