文章目录
- 一、准备工作
- 二、测试计划设计
一、准备工作
慕慕生鲜: http://111.231.103.117/#/login
-
进入网页后,登录,页面提供了账户和密码
-
搜索框输入“虾”
-
右键检查或按F12,打开调试工具,点击搜索
二、测试计划设计
(1)、测试计划右键 <<< 添加 <<< 配置元件 <<< HTTP请求默认值
-
协议:http
-
服务器名称或IP:111.231.103.117
-
端口:8083
-
内容编码:utf-8
(2)、在网页中,调试中点击网络,找到请求,点击标头找到请求标头,复制所有请求标头
(3)、测试计划右键 <<< 添加 <<< 配置元件 <<< HTTP信息头管理器
- 点击从剪切板添加,会将复制的值自动添加进去
(4)、测试计划右键 <<< 添加 <<< 监听器 <<< 查看结果树
(5)、测试计划右键 <<< 添加 <<< 线程(用户)<<< 线程组
(6)、在网页中,调试中点击网络,找到请求,点击负载,复制参数值
(7)、线程组右键 <<< 添加 <<< 取样器 <<< HTTP请求
-
选择GET
-
路径:/product/list
-
点击从剪切板添加,会自动添加;也可手动添加
(8)、HTTP请求右键 <<< 添加 <<< 后置处理器 <<< 正则表达式提取器
-
勾选 Main sample only
-
勾选 主体
-
引用名称:var
变量名称:var
- 正则表达式:
"id":(.*?),"name":"(.*?)
(.*?):表示匹配任意字符
HTTP请求返回的响应数据响应体中的返回数据格式:[{"id":39,"name":"即食大虾","image":"http://111.231.103.117:8083/images/new-xia.png","detail":"干虾烤虾大对虾干500g淡干烤海虾干货海鲜干货年货","categoryId":13,"price":40,"stock":21925,"status":1,"createTime":"2020-06-28 16:06:34","updateTime":"2020-02-11 00:51:59"},{"id":27,"name":"波士顿大龙虾鲜活冰鲜海鲜水产大只装波龙澳洲龙虾 400-500g 一只装","image":"http://111.231.103.117:8083/images/new-longxia.png","detail":"类别:澳洲龙虾特产品类:澳洲龙虾国产/进口:国产保存状态:冰鲜原产地:中国大陆","categoryId":13,"price":222,"stock":22123,"status":1,"createTime":"2020-06-28 16:06:34","updateTime":"2020-02-11 00:11:30"}]
- 模板:不设置,提取所有的组号
$1$、$2$获取第一组、第二组;正则表达式(.*?)为一组
- 匹配数字(0代表随机):-1
行号,-1匹配所有数据
(9)、HTTP请求右键 <<< 添加 <<< 后置处理器 <<< 调试后置处理程序
(10)、点击启动,点击查看结果树,查看HTTP请求
HTTP请求中的响应数据,响应体中的数据可以看到,一共有两个符合查询规则的数据,"total":2
(11)、点击HTTP请求-0,查看调试后置处理程序获取的参数信息
因为 正则表达式提取器 中的匹配数字为-1,获取所有值,所以变量本身没有值,获取的是组变量
var_1=:这个1代表行号,第一行的值
var_1_g=2:第一行匹配组的数量为两组;正则表达式提取器 中的正则表达式:"id":(.*?),"name":"(.*?)",有两个(.*?),所以有两组
var_1_g0="id":39,"name":"即食大虾":第一行,整个组的内容
var_1_g1=39:第一行,第一组的内容,id的值
var_1_g2=即食大虾:第一行,第二组的内容,name的值
var_matchNr=2:总共有两行
同理 var_2 ,第二行
(12)、线程组右键 <<< 添加 <<< 取样器 <<< HTTP请求
(13)、第二个HTTP请求右键 <<< 添加 <<< 前置处理器 <<< 正则表达式用户参数
Regular Expression Reference Name:var;正则表达式的引用名称,必须与 正则表达式提取器组件中的 引用名称 保持一致)
Parameter names regexp group number:1;参数名字的组号,有两组,用第一组作为组号;var_1_g1=39、var_2_g1=27
Parameter values regex group number:2;有两组,使用第二组作为值;var_1_g2=即食大虾、var_2_g2=波士顿大龙虾鲜活冰鲜海鲜水产大只装波龙澳洲龙虾 400-500g 一只装
注:正则表达式用户参数 前置处理器组件只能作用在HTTP取样器上
(14)、在第二个 HTTP请求组件中,添加参数,参数名为查看结果树中,提取出的每行第一组的值,也就是var_1_g1和var_2_g1对应的值
注:只需要添加名称参数即可
(15)、清除全部后,点击启动,在查看结果树中,查看请求信息
如图,第二个HTTP请求报错,可以不用管,因为第二个HTTP请求参数只有名称,并没有赋值
如图,点击第二个HTTP请求,点击请求,点击左小角 HTTP,可以看到,设置的两个参数,获取到了对应的值