【问题标题】:How to use XmlSlurper in soapUI如何在soapUI中使用XmlSlurper
【发布时间】:2011-04-24 19:24:16
【问题描述】:

我有下面的 groovy 脚本,我在 groovyconsole 中运行,它运行得很好。我在我的 xml 响应中查找特定节点的子节点数,并打印出每个子节点所需的值。

def path = new XmlSlurper().parse(new File('C://SoapUI//ResponseXML/Response.xml'))
NumberOfPositions =  path.Body.GetPositionsAggregateResponse.GetPositionsAggregateResult.AccountPositions.Securities.Positions.children().size()
for(def i=0; i<NumberOfPositions; i++){
println i

println  path.Body.GetPositionsAggregateResponse.GetPositionsAggregateResult.AccountPositions.Securities.Positions.PositionSummary[i].Legs[0].PositionAggregate[0].PositionID[0].text()
println  path.Body.GetPositionsAggregateResponse.GetPositionsAggregateResult.AccountPositions.Securities.Positions.PositionSummary[i].Legs[0].PositionAggregate[0].AccountID[0].text()

}

我想在 soapUI 中执行相同的任务,但无法使用此处提到的 groovyutils 使其工作:http://www.soapui.org/Scripting-Properties/tips-a-tricks.html

1) 如何解析从我的请求到 xmlSlurper 的 xml 响应? def path = new XmlSlurper().parse (?)

2) 我可以在soapUI 中使用上面相同的代码吗?

感谢任何帮助。谢谢!

【问题讨论】:

    标签: groovy soapui


    【解决方案1】:

    (1)
    要解析响应消息,您可以尝试以下操作:

    def response = context.expand( '${TestRequest#Response}' )
    def xml = new XmlSlurper().parseText(response)
    

    TestRequest 代表发送 SOAP 请求消息的测试步骤的名称。

    (2)
    是的,soapUI 应该能够处理任何 Groovy 代码。

    【讨论】:

      【解决方案2】:

      您可以在 SoapUI 中直接使用普通的 groovy 脚本。检查此link,它可能会对您有所帮助。但是,请记住,在 SoapUI 中编写脚本时,您需要使用“log.info”而不是“println”。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多