如何从jmeter xpath提取器中的多个soap响应提取值
问题描述:
我有两个soap响应,并且想要根据taskLabel提取Id。到目前为止我所做的是使用xpath查询:如何从jmeter xpath提取器中的多个soap响应提取值
//orderHeader/[@taskLabel='PROVIDE_QUOTE_OR_REJECT_RFQ']/@taskId
但它没有提取taskId。
我无法提取任务ID对<taskLabel>TEST_LABEL1</taskLabel>
如下SOAP响应:
<orderHeader>
<taskId>56657</taskId>
<taskName>Test Label</taskName>
<taskLabel>TEST_LABEL</taskLabel>
</orderHeader>
<orderHeader>
<taskId>56656</taskId>
<taskName>Test Label</taskName>
<taskLabel>TEST_LABEL1</taskLabel>
</orderHeader>
当我尝试这样做XPath查询://orderHeader/taskId
只提取从第一个SOAP响应的任务ID。
PS:我想提取的任务ID不固定在第二个响应中,它可以是任何响应。
任何帮助,将不胜感激。 在此先感谢。
答
使用此:
// orderHeader [TASKNAME /文()= 'TEST_LABEL1'] /任务id /文()
答
您应该使用类似:
//taskLabel[text()='TEST_LABEL1']/../taskId/text()
演示:
参考文献:
答
使用@
引用元素属性。在你的情况,taskLabel
和taskId
的元素代替,所以正确的XPath是:
//orderHeader[taskLabel='PROVIDE_QUOTE_OR_REJECT_RFQ']/taskId
非常感谢!这解决了我的问题:) –