我有一个模拟响应,需要返回请求中的值。例如,此请求可以包含:
<myReqest><myValue>123</myValue></myRequest>
我已经有了一个mockResponse:
<myResponse><yourValue>${theValue}</yourValue></myResponse>
我知道如何通过上下文变量设置$ {theValue}的值,但我无法弄清楚如何访问请求并解析它的值。
非常感谢任何帮助。
谢谢, 强尼
答案 0 :(得分:3)
您可以使用脚本功能自定义您的回复。
在mockResponse窗口中,您可以单击脚本菜单。
在这里,您可以使用类似的东西(使用XPath来完全限定您要查找的元素):
context.theValue =
mockRequest.getRequestXmlObject().selectPath("//Message/text()")[0];
当您调用MockResponse
时,theValue
变量应自动更新。
答案 1 :(得分:1)
SoapUI getting request parameters in mock service script的问题/答案几乎相同。 总结一下:
def req = new XmlSlurper().parseText(mockRequest.requestContent)
context.theValue = req.myRequest.myValue
答案 2 :(得分:1)
使用Dispatch SEQUENCE,MokcResponse可以是:
<myResponse><yourValue>${#MockResponse#Request#//myValue}</yourValue></myResponse>
答案 3 :(得分:0)
我不完全确定上下文,您使用的是哪种工具?
我们使用Liquid XML Studio,它有一个Web Services Test Client,这使得手动调用Web服务非常简单,这种听起来就像你想要做的那样,但也许你正试图自动化这个过程进行测试?
请提供更多信息。
西蒙
答案 4 :(得分:0)
如果您正在使用SoapUI Pro,只需将光标放在要插入值的位置,然后右键单击并通过“获取数据...”子菜单从请求中选择参数。但是,此功能仅适用于Pro版本。使用免费软件版本,你应该遵循khylo的答案。
罗伯特