【P35】JMeter 包含控制器(Include Controller)


一、包含控制器(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)、点击启动,点击查看结果树,查看请求信息

在这里插入图片描述

如图,请求成功,获取到两个符合正则表达式的值

包含控制器 相当于将所选的测试片段进行引用

缺点:通过所选的测试片段路径,看不到设计的测试计划

优点:代码共享。假如多个测试计划都使用到同一个测试片段,修改时,只需要修改测试片段即可

选择测试片段时,可以使用相对路径,这样在进行代码迁移或远程压测时,不会报文件找不到错误

Supongo que te gusta

Origin blog.csdn.net/qq_45138120/article/details/130897669
Recomendado
Clasificación