Jmeter-从SOAP响应中提取多个值,并将该值作为其他SOAP请求的输入

  • 本文关键字:SOAP 其他 请求 响应 提取 Jmeter- jmeter
  • 更新时间 :
  • 英文 :


我是Jmeter的新手。我正在访问一个web服务,并得到一个SOAP响应,如下所示。

SOAP响应:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Body>
      <ns1:getResponse ............>
         <ns1:return>
            <ns2:Config ..........>
                .........
                .........
               <ns2:id>1</ns2:id>
               .........
               .........
            </ns2:Config>
            <ns2:Config .........>
               .........
                .........
               <ns2:id>2</ns2:id>
               .........
               .........
            </ns2:Config>
         </ns1:return>
      </ns1:getResponse>
   </soap:Body>
</soap:Envelope>

我需要从两个标签()中获得这两个id值(),并通过循环将其作为其他SOAP请求的输入。

我已经使用正则表达式提取器尝试过了。

参考名称:id

正则表达式:(.+?)

模板:$1$

之后使用ForEach控制器并给出从提取器获取的输入。

输入变量前缀:id

输出变量名称:idValue

并尝试将此idValue用于下一个SOAP请求。但是在正则表达式提取器步骤本身中没有获得id值,因此根本不会进行第二个SOAP请求。

任何关于这方面的建议都将非常有帮助。

感谢

在正则表达式提取器中,我添加了Match no as-1,这解决了我的问题。

参考名称:id

正则表达式:<ns2:id>(.+?)</ns2:id>

模板:$1$

匹配号:-1

在foreach Controller中,我给出了相同的细节。

输入变量前缀:id

输出变量名称:idValue

感谢

在这种情况下,您应该使用:

  • http://jmeter.apache.org/usermanual/component_reference.html#XPath_Assertion

它使用XPath语法:

  • https://en.wikipedia.org/wiki/XPath

您可以使用XPath测试程序在查看结果树中测试XPath查询

最新更新