目录
0、配置元件概述
-
配置元件可以用于设置默认值,供取样器后续使用
-
配置元件在同一范围内会被首先执行
-
即在同一范围内,配置元件,会先在任何的其他元件之前运行
1、HTTP Cookie管理器
-
【备注】cookie管理器其实现在用得不多,了解下即可
-
现在大多数系统都很少用这种机制了,token或者其他认证方式多些
-
只有一些少数的比较老的系统用这种,demo学习的话其实也不好模拟
-
-
如果你有一个http请求,其返回结果里使用了cookie的机制
-
那么使用HTTP Cookie管理器会自动将该cookie保存起来
-
而且以后所有对该网站的请求都使用同一个cookie,进行发送请求
-
但是一般现在的系统都很少使用这样的架构了
-
-
每个JMeter线程都有自己独立的cookie保存区域
-
cookie设置规则:
-
①、没有做cookie的配置元件时,cookie不会自动设置【与线程组设置无关】
-
②、有cookie的配置元件时,不选任何参数时,cookie会自动设置【与线程组设置无关】
-
③、有 cookie 配置元件时,选上清空策略时,优先取配置元件【每一次迭代会清空cookie,与线程组设置无关】
-
④、有 cookie 配置元件,选择参考线程组时,看线程组的设置【又分两种情况】
-
-
1)示例1:
-
可以使用接口: httpbin.org
-
设置cookie管理器后
-
再次发送请求,带上了第一次请求设置的cookie
-
-
-
2)示例2:
-
xx登录实例
-
场景:先登录,再获取学生信息【说白了,就两个接口,第一个接口登录成功后,才能正常调用第二个接口的学生信息,这里面就是cookie起作用,表示用户登录了】
-
-
不加cookie管理器的情况
-
加了cookie管理器的情况
-
3)自定义cookie
-
可以在cookie管理器中添加自定义的cookie
-
然后在请求的request body会带上自己的cookie
-
2、csv数据文件设置
-
-
说明:
-
名称:配置元件的名称,最好有业务意义
-
文件名:引用的csv的文件地址,注意格式一定要正确哦
-
可以用绝对路径,也可以用相对路径,相对路径的根节点是jmeter的启动目录
-
当然,建议肯定是用相对路径,比如你以后的脚本,需要传到另外的负载机上去执行,这个时候如果用绝对路径,多半就出问题了
-
-
变量名称:定义的参数名称,用逗号分割,后续用来引用
-
-
示例:
-
设置好后,就可以调试了
-
-
-
用java请求测试
-
3、http信息头管理器
-
-
请求头的默认配置
-
http header manager可以添加或者覆盖http请求的header
-
jmeter支持多个http header manager
-
多个信息头管理器,就会被合并,形成一个header列表
-
如果有重复的,后面的会把前面的覆盖掉
-
4、http缓存管理器(用得少)
-
http缓存管理器
-
用于在其作用范围内向http请求添加缓存功能
-
模拟浏览器缓存功能
-
每个虚拟用户线程都有自己的缓存
-
默认情况下,缓存管理器在每个虚拟用户线程的缓存中最多可以存储5000个
-
-
Use Cache-Control/Expires header when processing GET requests
-
勾选后,如果是get请求,并且时间戳记在缓存之后,就直接从缓存中返回,无需请求远程服务器
-
其实就是模拟浏览器的行为
-
如果Cache-Control 被标记为 no-cache,那么就没用,每次都要请求服务器
-
如果缓存过期了,当然也要重新请求远程服务器
-
-
开启缓存时,需要注意JVM内存大小,防止内存溢出,高并发时,起步4G
-
一般做性能测试的时候,基本做得都是restful风格动态接口资源的请求【返回json数据】,不会去做什么静态资源的压测,如js、css、img等
5、http请求默认值
-
-
在一个线程组中,如果所有的请求都是访问的一个服务器
-
那么就可以配置一个http请求的默认值配置元件
-
那么所有的http请求取样器,就不用写协议、服务器名称、端口号了,只需要写自己的url地址就可以了
-
这样就比较方便
-
-
高级里面,还可以配置代理
-
配置了代理后,就可以使用fiddler,charles等工具进行一个抓包,分析
-
6、计数器
-
配置元件 ---> 计数器
-
可以设置开始值、步长、最大值
-
还可以设置补0
-
可以设置展示的格式
-
还可以设置共享线程模式
-
还可以设置独立线程用自己的这种模式
-
-
勾选上 每个用户独立的跟踪计数器后
-
那么,每个线程就会单独重新从 start 开始至开始计算的
-
-
如果没有勾选 每个用户独立的跟踪计数器
-
那么,所有的线程都是共享一个变量,相当于一个全局变量咯!
-
7、随机变量
-
配置元件 ---> random variable
-
测试