使用 JMeter 中的 XPath Extractor 进行关联
XPath 可用于浏览 XML 文档中的元素和属性。当使用正则表达式提取器无法提取响应中的数据时,它可能很有用。例如,对于需要从具有相同属性但具有不同值的类似标记中提取数据的情况。XPath Extractor 类似于 CSS / JQuery Extractor,但 XPath Extractor 应该用于 XML 内容,而 CSS / JQuery Extractor 应该用于 HTML 内容。让我们假设在响应中我们有一个具有不同值的表,我们需要从第二个表行中提取值。
<div id="weeklyPrices">
<tr>
<td>$56.00</td>
<td>$56.00</td>
<td>$56.00</td>
<td>$56.00</td>
<td>$60.00</td>
<td>$70.00</td>
<td>$70.00</td>
</tr>
</div>
展望未来,该案例的正确 XPath 将是: // div [@ id =‘weeklyPrices’] / tr / td 1
要使用此组件,请打开 JMeter 菜单,然后: 添加 - >后处理器 - > XPath Extractor
XPath Extractor 包含使用正则表达式提取器关联中提到的几个常见配置元素。这包括名称,申请,参考名称,匹配编号(自 JMeter 3.2 起)和默认值。
有许多网络资源,包括在线备忘单和编辑器,用于创建和测试你创建的 xpath( 如此 )。但基于下面的示例,我们可以找到创建最常见的 xpath 定位器的方法。
如果要将 HTML 解析为 XHTML,我们需要选中使用整洁选项。在决定使用整洁状态后,还有其他选项:
如果选中使用整洁:
- 安静 - 设置 Tidy Quiet 标志
- 报告错误 - 如果发生整洁错误,请相应地设置断言
- 显示警告 - 设置 Tidy show warnings 选项
如果未选中使用整洁:
- 使用命名空间 - 如果选中,XML 解析器将使用命名空间解析
- 验证 XML - 根据指定的架构检查文档
- 忽略空格 - 忽略元素空白
- 获取外部 DTD - 如果选中,则获取外部 DTD
“返回整个 XPath 片段而不是文本内容”是自描述的,如果你不仅要返回 xpath 值,还要返回其 xpath 定位器中的值,则应该使用它。它可能对调试需求很有用。
还值得一提的是,有一些用于测试 XPath 定位器的非常方便的浏览器插件列表。对于 Firefox,你可以使用“ Firebug ”插件,而对于 Chrome,“ XPath Helper ”是最方便的工具。