如何在jmeter xpath提取器中从多个soap响应中提取值

时间:2016-11-04 05:39:31

标签: xpath soap jmeter

我有两个soap响应,想要根据taskLabel提取Id。到目前为止我所做的是使用xpath查询:

//orderHeader/[@taskLabel='PROVIDE_QUOTE_OR_REJECT_RFQ']/@taskId

但它没有提取taskId。

我无法在下面的soap响应中针对<taskLabel>TEST_LABEL1</taskLabel>提取任务ID:

<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并不固定在任何响应中的第二个响应中。

任何帮助将不胜感激。 提前谢谢。

3 个答案:

答案 0 :(得分:1)

使用@引用元素属性。在您的情况下,taskLabeltaskId是元素,因此正确的XPath将是:

//orderHeader[taskLabel='PROVIDE_QUOTE_OR_REJECT_RFQ']/taskId

答案 1 :(得分:0)

使用此:

// orderHeader [TASKNAME /文本()=&#39; TEST_LABEL1&#39;] /的TaskID /文本()

答案 2 :(得分:-1)

你应该使用类似的东西:

//taskLabel[text()='TEST_LABEL1']/../taskId/text()

演示:

XPath Extractor

参考文献: