我正在研究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("")
答案 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