正在以XML文件形式下载SOAP响应 [英] Downloading SOAP response as xml file
本文介绍了正在以XML文件形式下载SOAP响应的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个从SOAP服务获取内容的客户端。因为它使用了大量资源,而且我需要测试很多我不想扰乱他们的服务器功能的东西。
这就是我需要一种方法将原始的XML响应下载到.xml文件的原因。完成此操作的最简单方法是什么?
我已经尝试使用SOAPUI转储到文件,但这不允许自动执行SOAP调用并按顺序下载所有文件。
推荐答案
如果您想要使用SOAPUI保存所有响应来执行整个Soap测试请求的测试用例,您可以使用以下代码在您的测试用例中添加一个groovy脚本步骤作为最后一步:
def groovyUtils = new com.eviware.soapui.support.GroovyUtils( context )
def tcase = testRunner.testCase
// get total number of testSteps
def countTestSteps = tcase.getTestStepList().size()
// finish with -1 to avoid groovy script testStep
for(i=0;i<countTestSteps-1;i++){
// define a file
def file = new File("C:/temp/SOAPUI_response_"+i+".xml")
def pw = new PrintWriter(file)
// get testStep
def testStep = tcase.getTestStepAt(i)
// get response
def response = testStep.getProperty('Response').getValue()
// save on file
pw.println(response)
pw.flush()
pw.close()
}
使用此代码,您的测试步骤的所有响应都将保存到光盘(代码注释解释了该行为)
此外,如果您想要多次运行测试用例以避免覆盖您可以使用的文件,例如随机生成的UUID来创建文件名,请尝试:
def fileNamePrefix = UUID.randomUUID().toString()
def file = new File("C:/temp/" + fileNamePrefix + "SOAPUI_response_"+i+".xml")
而不是
def file = new File("C:/temp/SOAPUI_response_"+i+".xml")
希望这会有帮助
这篇关于正在以XML文件形式下载SOAP响应的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文