正在以XML文件形式下载SOAP响应 [英] Downloading SOAP response as xml file

查看:14
本文介绍了正在以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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆