一、CSS/JQuery提取器(CSS Selector Extractor)参数说明
可以采用 CSS/JQUERY 语法提取所需要的值,功能非常强大(注意取样器返回必须为 htmI/xml);底层采用 jsoup 实现,具体语法可以参考 https://jsoup.org/cookbook/extracting-data/selector-syntax
右键 >>> 添加 >>> 后置处理器 >>> CSS/JQuery提取器(CSS Selector Extractor)
Apply to
-
Main sample and sub-samples:匹配范围包括当前父取样器并覆盖子取样器
-
Main sample only:默认;匹配范围是当前父取样器
-
Sub-samples only :仅匹配子取样器
-
JMeter Variable Name to use:支持对 Jemter变量值进行匹配(输入框内可输入jmeter的变量名称)
CSS 选择器提取器实现(CSS Selector Extractor Implementation)
-
JSOUP:默认采用JSOUP;不选时默认也为JSOUP
-
JODD:JODD格式
(1)、引用名称(Name of created variables):请求要引用的变量名称,如填写 result_num
(2)、CSS选择器表达式(CSS Selector expression):CSS选择器表达式 CSS表达式
(3)、属性(Attribute):要提取的元素的属性;提取内容可以不填。示例:<input type="checkbox" name="colors" value="blue" id="blue">蓝色<br>
,那么这里的属性就是value,因为我们要提取blue
(4)、匹配数字(0代表随机)(Match No. (0 for Random)):0 代表随机取值,n取第几个匹配值,-1匹配所有;比如:取1表示报文中的第1个对象匹配,取2表示报文中的第2个对象匹配
(5)、缺省值(Default Value):如果参数没有取得到值,那默认给一个值让它取
二、准备工作
百度: https://www.baidu.com/
-
进入网页后,右键检查或按F12,打开调试工具
-
使用CSS/JQuery提取器,获取六个百度热搜文本
三、测试计划设计
(1)、测试计划右键 <<< 添加 <<< 配置元件 <<< HTTP请求默认值
-
协议:https
-
服务器名称或IP:www.baidu.com
-
端口:443
-
内容编码:utf-8
注:无端口时,https默认端口为443;http端口为80
(2)、在网页中,调试中点击网络,找到请求,点击标头找到请求标头,复制所有请求标头
(3)、测试计划右键 <<< 添加 <<< 配置元件 <<< HTTP信息头管理器
- 点击从剪切板添加,会将复制的值自动添加进去
(4)、测试计划右键 <<< 添加 <<< 线程(用户)<<< 线程组
(5)、线程组右键 <<< 添加 <<< 取样器 <<< HTTP请求
(6)、HTTP请求右键 <<< 添加 <<< 后置处理器 <<< CSS/JQuery提取器
-
勾选 Main sample only
-
引用名称:var1
-
CSS选择器表达式:#s-hotsearch-wrapper ul li span.title-content-title
具体语法可以参考 https://jsoup.org/cookbook/extracting-data/selector-syntax
网页按F12或右键检查,点击到所需要提取的文本代码中,右键复制选择复制selector
- 匹配数字(0代表随机):-1
(7)、线程组右键 <<< 添加 <<< 监听器 <<< 查看结果树
(8)、线程组右键 <<< 添加 <<< 取样器 <<< 调试取样器
(9)、点击启动,点击查看结果树,查看请求及取样器信息
HTTP请求中的响应数据,响应体中的数据可以看到,格式为 html
(10)、点击调试取样器,查看响应数据下的响应体
var1_x:可以看到,获取的文本信息
var1_matchNr:统计匹配的个数,如图,一共六个