Jmeter(六)关联之XPath提取器

本文介绍如何在JMeter中使用XPath提取器从XML或HTML格式的响应中提取数据。通过实例演示了如何设置HTTP请求和XPath提取器,包括配置作用范围、解析选项、XPath表达式等关键步骤。

如果请求返回的消息为xml或html格式的,可以用XPath提取器来提取需要的数据

以http://www.weather.com.cn/为例:

先新建一个HTTP请求GetCityURL,获取城市天气的链接

在这个请求下添加一个后置处理器->XPath提取器

再新建一个HTTP请求GetWeatherInfo,获取天气信息

运行,查看请求消息

XPath提取器:

APPly to:作用范围(返回内容的断言范围)

         Main sample and sub-samples:作用于父节点的取样器及对应子节点的取样器

         Main sample only:仅作用于父节点的取样器

         Sub-samples only:仅作用于子节点的取样器

         JMeter Variable:作用于jmeter变量(输入框内可输入jmeter的变量名称)

XML Parsing Options:要解析的XML参数

         Use Tidy:当需要处理的页面是HTML格式时,必须选中该选项;如果是XML或XHTML格式(例如RSS返回),则取消选中;

                   Quiet表示只显示需要的HTML页面,Report errors表示显示响应报错,Show warnings表示显示警告;

         Use Namespaces:如果启用该选项,后续的XML解析器将使用命名空间来分辨;

         Validate XML:根据页面元素模式进行检查解析;

         Ignore Whitespace:忽略空白内容;

         Fetch external DTDs:如果选中该项,外部将使用DTD规则来获取页面内容;

Return entire XPath fragment of  text content:返回文本内容的整个XPath片段;

Reference Name:存放提取出的值的参数。

XPath Query:用于提取值的XPath表达式。

匹配数字:取第几个匹配结果,0随机,-1全部,1代表第一个,2代表第二个,....以此类推

Default Value:参数的默认值。

转载于:https://www.cnblogs.com/eastonliu/p/10371413.html

### JMeterXPath Extractor 的使用方法 在 JMeter 性能测试中,XPath Extractor 是一种强大的后置处理器(PostProcessor),用于从 XML 或 (X)HTML 响应中提取数据。对于 JMeter 5.0 及以上版本,建议使用改进后的 XPath2 Extractor,因为其具有更好的命名空间管理和性能优化以及支持 XPath 2.0 特性[^2]。 #### 配置 XPath Extractor 参数 为了有效利用 XPath Extractor,在配置时需注意以下几个重要参数: - **Reference Name**: 定义一个易于识别的名字作为变量名,以便于后续脚本调用所提取出来的值。 - **XPath Query**: 输入有效的 XPath 查询语句以定位目标节点或属性;确保此表达式的准确性至关重要,可以通过在线工具提前验证[^4]。 - **Default Value**: 当找不到匹配项时返回默认值,防止因为空结果而导致错误发生。 如果希望获取多个匹配的结果,则可设置 `Match No.` 字段为负数或者指定具体序号来访问特定条目。 #### 示例:从 HTML 页面中提取标题文字 假设要从如下所示的简单网页片段中抓取出 `<h1>` 标签内的文本内容:“欢迎来到我们的简易表单”。 ```html <h1>欢迎来到我们的简易表单</h1> ``` 此时可在 JMeter 脚本里添加一个 XPath Extractor 组件,并按照下面的方式填写各项配置信息: | 属性 | 设置 | |-------------|------------------------------------------------------------| | Reference Name | welcome_message | | XPath Query | `/html/body/h1/text()` | | Default Value | Not Found | 完成上述操作之后,“welcome_message” 将会保存有 “欢迎来到我们的简易表单”。该变量可以在后面的 HTTP 请求或其他逻辑控制元件中被引用和重用。 #### 注意事项 当面对包含复杂结构或是存在大量相似标签的情况时,可能需要更加精确地构建 XPath 表达式,甚至考虑引入额外条件过滤器(如 @class, @id 等),以此提高命中率并减少误报的可能性。 另外值得注意的是,虽然 XPath 提取功能强大,但在实际应用过程中也应当权衡效率问题——特别是针对大型文档而言,频繁执行此类解析可能会带来显著开销。因此,在设计测试计划之初就做好充分规划是非常必要的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值