【问题标题】:Jmeter code to read response xml attributes in beanshell post processor without using Xpath Extractor?Jmeter代码在不使用Xpath Extractor的情况下读取beanshell后处理器中的响应xml属性?
【发布时间】:2017-02-16 09:28:37
【问题描述】:

下面提到的 XML 是一个示例 xml,像这样有“N”个可用节点,我想在 Beanshell 后处理器中读取 XML 属性。我从 HTTP 请求中得到这个 XML。如何在 Jmeter beanshell 后处理器中读取 XML(HTTP 响应),就像我们在 java 中读取的一样?

 <Order OrderNo="Y1101001">
     <OrderLines>
       <OrderLine LineNo="1" LineKey="20171100011"> 
       <OrderLine LineNo="2" LineKey="20171100012">
      </OrderLines>
     </Order>

【问题讨论】:

    标签: jmeter


    【解决方案1】:

    Beanshell 或多或少与 Java 兼容,因此您可以使用普通的 Java code to parse XML

    但是我建议考虑使用 JSR223 PostProcessorGroovy 语言,从性能的角度来看,Groovy 更好,而且它具有内置的 XML 支持,因此您将能够获得 OrderLine 元素的数量很简单:

    def response = new XmlParser().parseText(prev.getResponseDataAsString()) 
    def size = response.OrderLines.OrderLine.size()
    log.info("Size: " + size)
    

    演示:

    参考资料:

    【讨论】:

      【解决方案2】:

      在这里你可以找到从 xml 中提取值的 beanshell/java 代码:

      Looping through data in JMeter and storing data to use in other sampler

      【讨论】:

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