文章目录
- 一、包含控制器(Include Controller)参数说明
- 二、准备工作
- 三、测试计划设计
- 3.1、保存测试片段
- 3.2、使用测试片段
一、包含控制器(Include Controller)参数说明
可以将测试计划的某一部分提取为公用逻辑,这样可以达到不同 jmx 文件进行共享代码片段;通常我们在使用包含控制器时,要先抽取公用部分,设计测试片段
选择线程组右键 >>> 添加 >>> 逻辑控制器 >>> 包含控制器(Include Controller)
- 文件名(Filename):文件的路径一般填写相对路径,否则在测试计划远程压测的时候会报文件不存
二、准备工作
慕慕生鲜: http://111.231.103.117/#/login
-
进入网页后,登录,页面提供了账户和密码
-
搜索框输入“虾”
-
右键检查或按F12,打开调试工具,点击搜索
三、测试计划设计
3.1、保存测试片段
(1)、测试计划右键 <<< 添加 <<< 线程(用户)<<< 线程组
(2)、在网页中,调试中点击网络,找到请求,点击负载,复制参数值
(3)、线程组右键 <<< 添加 <<< 取样器 <<< HTTP请求
-
协议:GET
-
路径:/product/list
-
点击从剪切板添加,会自动添加;也可手动添加
(4)、HTTP请求右键 <<< 添加 <<< 后置处理器 <<< JSON提取器
-
勾选 Main sample only
-
Name of created variable:var1
参数名为:var1
- JSON Path expressions:$…list[*].name
$:开始符固定的;..:0到多个级别,单个为根级别;list:返回的响应数据结构,相当于字典,key为list的值;name:list值中名为name键的值
- Match No. (0 for Random):-1
匹配所有符合正则表达式的值
(5)、HTTP请求右键 <<< 添加 <<< 后置处理器 <<< 调试后置处理程序
- 参数默认即可
(6)、HTTP请求右键 <<< 添加 <<< 配置元件 <<< HTTP请求默认值
-
协议:http
-
服务器名称或IP:111.231.103.117
-
端口:8083
-
内容编码:utf-8
(7)、在网页中,调试中点击网络,找到请求,点击标头找到请求标头,复制所有请求标头
(8)、HTTP请求右键 <<< 添加 <<< 配置元件 <<< HTTP信息头管理器
- 点击从剪切板添加,会将复制的值自动添加进去
(9)、测试计划右键 <<< 添加 <<< 监听器 <<< 查看结果树
(10)、点击启动,点击查看结果树,查看请求结果
如图,请求成功,获取到两个符合正则表达式的值
(11)、点击HTTP请求 <<< 右键 <<< 点击保存为测试片段
3.2、使用测试片段
(1)、新建一个测试计划
(2)、测试计划右键 <<< 添加 <<< 线程(用户)<<< 线程组
(3)、线程组右键 <<< 添加 <<< 逻辑控制器 <<< Include控制器
- 文件名:选择上一步保存的测试片段,路径为绝对路径
(4)、测试计划右键 <<< 添加 <<< 监听器 <<< 查看结果树
(5)、点击启动,点击查看结果树,查看请求信息
如图,请求成功,获取到两个符合正则表达式的值
包含控制器 相当于将所选的测试片段进行引用
缺点:通过所选的测试片段路径,看不到设计的测试计划
优点:代码共享。假如多个测试计划都使用到同一个测试片段,修改时,只需要修改测试片段即可
选择测试片段时,可以使用相对路径,这样在进行代码迁移或远程压测时,不会报文件找不到错误