目录
2.3 setUp 线程组(setUp Thread Group)
2.4 tearDown 线程组(tearDown Thread Group)
3.2 HTTP信息头管理器(HTTP Header Manager)
3.3 HTTP Cookie管理器(HTTP Cookie Manager)
3.4 HTTP缓存管理器(HTTP Cache Manager)
3.5 HTTP请求默认值(HTTP Request Manager)
1、测试计划(Test Plan)
测试计划是Jmeter测试的起点,包含一个或多个线程组及配置元件、监听器、定时器、前置处理器、后置处理器、断言等组件,右键测试计划可添加组件
2、线程(Threads(Users))
用来创建线程组,类似用户角色,默认有Open Model Thread Group、线程组、setUp 线程组、tearDown 线程组 四种
2.1 Open Model Thread Group
适用于不需要确定线程数量的场景,对设计自定义负载模式时有用,无需计算线程的数量
2.2 线程组(Thread Group)--常用
线程组用来定义Jmeter在执行测试时运行的线程数,可以设置线程数量、Ramp-Up时间和执行测试的时间
图中1:设置线程名称
图中2:设置运行线程数
图中3:设置运行当前线程数的时间
图中4:运行次数,选择“永远”则一直运行直到手动结束
图中5:选择取样器出现错误后的操作
2.3 setUp 线程组(setUp Thread Group)
同线程组一样,区别在于setUp 线程组是在普通线程组执行前运行,如连接数据库、登录等场景
2.4 tearDown 线程组(tearDown Thread Group)
同线程组一样,区别在于ttearDown线程组可以在普通线程组执行完后再运行,如退出登录、关闭数据库连接、清理测试数据等场景
3、配置元件(Config Element)
Jmeter配置元件可以用来进行参数化、 初始化默认值和变量、存储服务器的响应信息以及配置链接数据库等
3.1 CSV Data Set Config
CSV Data Set Config元件用来读取csv或dat文件的数据,然后通过设置把读取到的数据关联到Jmeter中的变量保存,CSV文件可以使用excel表格工具去进行编辑。主要分为后缀为txt文件和csv文件。
图中1:文件名(Filename):指保存信息的文件目录,可以相对或者绝对路径,相对路径从Jmeter的启动目录(***/bin)路径
图中2:文件编码(File Encoding):默认为ANSI,可设置为UTF-8防止乱码
图中3:变量名称(Variable Names):参数名称,每个名称间用英文分隔符分开,分隔符使用下面“分隔符”中定义的,默认为逗号,与参数文件的参数对应
图中4:忽略首行(Ignore first line):读取文件时是否忽略首行,如果文件首行有标题选择True,反正则选择False
图中5:分隔符(Delimiter):定义分隔符,用于分隔文件中的参数,及上述变量名称中定义的参数名称。
图中6:是否允许带引号(Allow quoated data):设置为True,文件中的参数值都必须带引号,设置为False则不需要
图中7:遇到文件结束符再次循环(Recycle on EOF):遇到文件结束符后,是否重头开始循环读取,设置为True,则重头继续循环,设置为False则不循环
图中8:遇到文件结束符停止线程(Stop Thread on EOF):遇到文件结束符后,是否停止线程,设置为False为不停止,设置为True则读完CSV文件中的记录后,停止运行
图中9:线程共享模式(Sharing mode):线程共享有三个模式,如下:
- 所有线程(All threads):CSV文件对所有线程共享,包括同一测试计划中的不同线程组
- 当前线程组(Current thread group):CSV文件只对当前线程组中的线程共享
- 当前线程(Current thread):CSV文件仅对当前线程获取
3.2 HTTP信息头管理器(HTTP Header Manager)
HTTP信息头管理器用来储存http请求头,功能是尽可能模拟浏览器的行为,里面通常放请求头的内容,如下图内容:
- Content-Type(请求数据类型): application/json;charset=UTF-8
- User-Agent(用户代理): Mozilla/5.0 Chrome/124.0.0.0
可点击添加并输入请求头信息的名称和对应值后保存设置HTTP请求信息头
3.3 HTTP Cookie管理器(HTTP Cookie Manager)
HTTP Cookie管理器用来储存Cookie,而Cookie是网站暂时或永久保存在客户端的识别用户的信息,类似访问令牌,携带有cookie时可以访问网站
Cookie 是作用在线程级别的,不同线程的 Cookie 不同
图中1:每次反复清除Cookies?:默认不勾选每次不清除cookie,勾选后则每次清除Cookie
图中2:Use Thread Group configuration to control clearing:使用线程组去配置清除cookie,勾选后则每次自动设置 Cookie 给下次迭代使用,不勾选则不会自动设置Cookie
图中3:添加cookie(HTTP信息头管理器中添加了cookie的话这里不需要添加或设置)
3.4 HTTP缓存管理器(HTTP Cache Manager)
HTTP 缓存管理器用来模拟储存访问浏览器产生的静态缓存文件(包括html,Doc,CSS,JS,Media等文件),减少每次重新下载资源造成的性能影响
图中1:在每次迭代中清除缓存?(Clear cache each iteration):默认不勾选每次不清除缓存,勾选后则每次清除缓存
图中2:Use Thread Group configuration to control clearing:使用线程组去配置清除cookie,勾选后则每次自动设置 Cookie 给下次迭代使用,不勾选则不会自动设置Cookie
图中3:Use Cache-Control/Expires header when processing GET requests:默认勾选,根据当前时间检查Cache-Control/Expires,如果为get请求且时间为未来时间则不会进行请求
图中4:缓存中元素的最大数量(Max Number of elements in cache):设置最大缓存数量
3.5 HTTP请求默认值(HTTP Request Manager)
对于多个取样器请求的协议、服务器名称或IP、端口号等信息相同时,为了方便,可通过HTTP请求默认值进行配置,配置的内容在其他取样器可为空
3.6 计数器(Counter)
作用:
(1)控制测试数据输出次数:
(2)控制测试数据输出间隔
(3)实现循环测试
(4)结合正则表达式实现复杂场景测试
图中1:名称:定义计数器名称
图中2:Starting value:开始值,计数器的初始值
图中3:递增(Increment):每次迭代后增加的步数值
图中4:Maximum value:达到的最大值,然后自动重置为初始值
图中5:数字格式(Number format):设置数字格式,不足的0补位
图中6:引用名称(Exported Variable Name):用于控制其他元素引用值
图中7:与每用户独立的跟踪计数器(Track Counter Independently for each User):勾选则为独立计数器,不勾选则为全局计数器
图中8:在每个线程组迭代上重置计数器(Reset counter on each Thread Group Iteration):勾选与每用户独立的跟踪计数器后可用