本文主要是介绍【P20】JMeter XPath提取器(XPath Extractor),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- 一、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个
这篇关于【P20】JMeter XPath提取器(XPath Extractor)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!