【P21】JMeter XPath2 提取器(XPath2 Extractor)


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

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

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

在这里插入图片描述

Apply to

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

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

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

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

Extraction properties

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

  • XPath query:用于提取值的XPath表达式

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

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

  • Namespaces aliases list (prefix=full namespace, 1 per line):命名空间别名列表。就是这个功能,能让使用命名空间比使用旧的XPath提取器更方便。关于命名空间含义,可以看官方文档:XML 命名空间,但是写的不够详细,详细的参考这里:XML 命名空间(XML Namespaces)介绍以及节点读取方法。由于XPath2对于表达式的要求比较严格,对于带命名空间的XML(包括默认的命名空间),使用不带命名空间前缀的表达式是查询不到结果的;每行一个

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

二、准备工作

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

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

在这里插入图片描述

如图,使用XPath2 提取器(XPath2 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请求右键 <<< 添加 <<< 后置处理器 <<< XPath2 Extractor

在这里插入图片描述

  • 勾选 Main sample only

  • 引用名称:xpath2

  • 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请求

在这里插入图片描述

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

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

在这里插入图片描述

xpath2=Empire Burlesque:获取到的变量值

xpath_X=<TITLE>Empire Burlesque</TITLE>:对应的每个个数的值

xpath2_matchNr=25:统计匹配的个数,一共25个

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小鹿快跑~

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

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

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

打赏作者

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

抵扣说明:

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

余额充值