SoapUI Groovy脚本调用XmlUtil.serialize意外弹窗问题求助
解决SoapUI中XmlUtil.serialize弹出窗口的问题
这个问题我之前也碰到过,其实不是XmlUtil.serialize方法的问题,而是SoapUI Groovy脚本的默认行为导致的。
原因分析
SoapUI的Groovy脚本执行环境有个特性:如果脚本的最后一行是有返回值的表达式(比如你直接调用groovy.xml.XmlUtil.serialize(xmlString)却不把结果存起来),它会自动把这个返回值以弹出窗口的形式展示出来——这是SoapUI为了方便用户快速查看脚本执行结果设计的机制,和你用的Linux系统、SoapUI 5.4.0版本无关。
解决方法
只需要把序列化后的结果赋值给一个变量,不让它成为脚本的最终返回值就行:
// 把格式化后的XML存到变量里,不会触发弹出窗口 def formattedXml = groovy.xml.XmlUtil.serialize(xmlString) // 如果需要查看结果,可以用日志输出,而不是依赖弹出窗口 log.info "格式化后的XML:\n${formattedXml}"
这样修改后,脚本就只会执行序列化操作,不会再弹出那个显示XML字符串的窗口了。如果后续需要使用这个格式化后的XML,直接用formattedXml变量即可。
内容的提问来源于stack exchange,提问作者NeplatnyUdaj
相关产品推荐
相关产品推荐

