【P20】JMeter XPath提取器(XPath Extractor)


一、XPath提取器(XPath Extractor)参数说明

可以采用 Xpath 语法提取所需要的值,功能非常强大(注意取样器返回必须为xml);底层采用 saxon-he 实现,语法参考 https://www.w3school.com.cn/xpath/index.asp 函数:http://saxon.sourceforge.net/saxon7.9.1/functions.html

右键 >>> 添加 >>> 后置处理器 >>> XPath提取器(XPath Extractor)

在这里插入图片描述

Apply to

  • Main sample and sub-samples:匹配范围包括当前父取样器并覆盖子取样器

  • Main sample only:默认;匹配范围是当前父取样器

  • Sub-samples only :仅匹配子取样器

  • JMeter Variable Name to use:支持对 Jemter变量值进行匹配(输入框内可输入jmeter的变量名称)

XML Parsing Options(要解析的XML参数)

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

  • Quiet:表示只显示需要的HTML页面

  • 报告异常:表示显示响应报错

  • 显示警告:表示显示警告

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

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

  • Ignore Whitespace:忽略空白内容

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

(1)、Return entire XPath fragment instead of text content?:返回文本内容的整个XPath片段

(2)、引用名称(Name of created variables):请求要引用的变量名称,如填写 result_num

(3)、XPath query:用于提取值的XPath表达式

(4)、匹配数字(0代表随机)(Match No. (0 for Random)):0 代表随机取值,n取第几个匹配值,-1匹配所有;比如:取1表示报文中的第1个对象匹配,取2表示报文中的第2个对象匹配

(5)、缺省值(Default Value):如果参数没有取得到值,那默认给一个值让它取

二、准备工作

百度:https://www.w3school.com.cn/example/xmle/cd_catalog.xml

  • 进入网页后,右键检查或按F12,打开调试工具

在这里插入图片描述

如图,使用XPath提取器(XPath Extractor)获取 <TITLE>Empire Burlesque</TITLE>

注:这个地址有时会返回304状态码,网页多刷新几次,让其从缓存中获取数据。测试时,需使用 HTTP缓存管理器 获取缓存

三、测试计划

(1)、测试计划右键 <<< 添加 <<< 配置元件 <<< HTTP缓存管理器

在这里插入图片描述

(2)、网页复制全部的请求标头

在这里插入图片描述

(3)、测试计划右键 <<< 添加 <<< 配置元件 <<< HTTP信息头管理器

在这里插入图片描述

  • 在网页调试中,复制全部的请求标头,点击从剪切板添加按钮,即可全部自动添加好

此请求头必须和网页中的保存一致,且网页不可刷新,否则会改变

(4)、测试计划右键 <<< 添加 <<< 配置元件 <<< HTTP请求默认值

在这里插入图片描述

  • 协议:https

  • 服务器名称或IP:www.w3school.com.cn

  • 端口号:无端口的话,https 默认端口为 443

  • 内容编码:utf-8

(5)、测试计划右键 <<< 添加 <<< 线程(用户)<<< 线程组

(6)、线程组右键 <<< 添加 <<< 取样器 <<< HTTP请求

在这里插入图片描述

  • GET

  • 路径:/example/xmle/cd_catalog.xml

(7)、HTTP请求右键 <<< 添加 <<< 后置处理器 <<< XPath提取器

在这里插入图片描述

  • 勾选 Main sample only

  • 勾选 Return entire XPath fragment instead of text content?

  • 引用名称:xpath

  • XPath query:CATALOG/CD/TITLE

语法参考:https://www.w3school.com.cn/xpath/index.asp

函数:http://saxon.sourceforge.net/saxon7.9.1/functions.html

  • 匹配数字(0代表随机):1

(8)、线程组右键 <<< 添加 <<< 监听器 <<< 查看结果树

(9)、线程组右键 <<< 添加 <<< 取样器 <<< 调试取样器

(10)、点击启动,点击查看结果树,查看请求及取样器信息

在这里插入图片描述

如图,可以看到 HTTP请求返回成功,响应数据下响应体中,数据正确

(11)、点击查看结果树中的调试取样器,查看响应数据下的响应体

在这里插入图片描述

xpath=<TITLE>Empire Burlesque</TITLE>:获取到的变量值

xpath_1=<TITLE>Empire Burlesque</TITLE>:匹配的第一个值

xpath_matchNr=1:统计匹配的个数,一共1个

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小鹿快跑~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值