我有点困惑了,因为我是模拟rest服务的初学者。
我正在使用soapui模拟rest服务。为此,我需要编写一个脚本(OnRequest脚本)来模拟对我的请求的响应。
因此,我想模拟两种类型的响应: application/json和application/xml。但我不想读任何响应文件。我只想在脚本(soapui中的OnRequest脚本)中编写响应。
我已经找到了一种通过读取响应文件来完成此任务的方法。在我的例子中,我不需要读取任何文件,而是将响应写入脚本(soapui中的OnRequest脚本)。
有人说我可以这样使用groovy:
if (mockRequest.getMethod() == "GET" && mediaType=="application/xml"){
mockRunner.returnFile(httpResponse,new File(path + "test.xml"))
log.info "Response returning for Content-Type application/xml"
return new com.eviware.soapui.impl.wsdl.mock.WsdlMockResult(mockRequest)
}但是这个示例确实读取了一个文件,我想使用groovy,但只用groovy脚本编写答案。
发布于 2014-02-19 21:14:27
我终于找到了解决方法:
if (mockRequest.getMethod() == "GET" && mediaType=="application/xml"){
WsdlMockResult mockResult = new WsdlMockResult(mockRequest)
def httpResponse = mockRequest.httpResponse
httpResponse.setContentType("application/xml;charset=utf-8")
httpResponse.writer << "<root><user>ABC</user></root>"
httpResponse.status = 200
return mockResult
}如果您需要,请尽情享受此解决方案。
https://stackoverflow.com/questions/21850227
复制相似问题