本篇文章重要介绍Jmeter中如何使用
JSON断言、同步定时器、事务控制器、CSV数据文件设置、HTTP Cookie管理器
目次
一:JSON断言
1:精确效果展示
2:错误效果展示
3:JSON设置
(1)Additionally assert value添加断言值
(2)Match as regular expression正则匹配
4:正则表达式
(1)\d匹配数字
(2)\s匹配字符
(3)最小匹配多少次
5:使用展示
二:同步定时器
1:场景引入
2:实现并发效果
3:前后对比
4:如果模仿用户组数量大于线程组数量
三:事务控制器
1:创建事务控制器
2:聚合陈诉的信息讲解
四:CSV数据文件设置
1:场景引入
2:创建我们要的信息
(1)创建一个表格
(2)生存文件
3:参数介绍
4:效果展示
五:HTTP Cookie管理器
1:浏览器哀求访问场景引入
2:Jmeter中不设置Cookie管理器演示
3:设置HTTP Cookie管理器
一:JSON断言
1:精确效果展示
2:错误效果展示
使用错误的名称
登录返回的数据中没有code1这个数据,所以没有找到这个result,换成data
3:JSON设置
(1)Additionally assert value添加断言值
①若不选Additionally assert value,表⽰添加断⾔值,则可⽤来判定字段是否存在
②选择Additionally assert value,则必须添加Expected Value盼望的断⾔值(这里区分巨细写)
(2)Match as regular expression正则匹配
③若不选Match as regular expression正则匹配,则Expected Value必须填写完整,少⼀个字符都会导致断⾔失败
④若选择Match as regular expression正则匹配,则Expected Value可以仅写上部分关键词即可断⾔成功
去匹配我们的token字符串
4:正则表达式
(1)\d匹配数字
(2)\s匹配字符
\s匹配全部空缺符,包括换行;\S非空缺符,不包括换行;
(3)最小匹配多少次
5:使用展示
二:同步定时器
1:场景引入
设置了五个线程,我们想要让这个五个线程告竣同步并发的效果,但是看我们当前的执行情况,这些线程是在1s内陆陆续续的完成,没有告竣我们预想中并发执行的效果。(这里就是谁先准备好,谁就先发起哀求)
2:实现并发效果
想象一个场景:我们行人在过马路前需要等待红灯跳转到绿灯,行人在这个等待的过程中越聚越多,绿灯一亮,行人则蜂拥而过。
同步定时器可以理解为集合点,当线程数量到达指定值后,再⼀起释放,可以瞬间产⽣很⼤的
压⼒。这样,可以更好地模仿真实的⽤⼾并发访问场景,提⾼测试的准确性和可靠性。
设置的数量与我们前面设置好的线程组的数量保持划一
3:前后对比
全部线程都准备好了,一起发送哀求,到达并发的效果
4:如果模仿用户组数量大于线程组数量
这里就会卡主,由于没有它会不绝等待到50个线程准备完毕,才发送哀求。所以这里设置的数量不可以大,那可以小吗?
答案也是不可以的,假设我们当前设置的模仿用户组数量为3,那么我们就是分3个一组哀求一次,但是我们设置的是5个线程呀,尚有2个线程凑不出来3,所以就迟迟不能发送哀求。也会卡主
那又有一个题目了: 若小于设置的线程数,线程组中的线程数与当前设置的数据必须成整数倍。这个结论是否精确呢?
也是不可以的,假设我们的线程组数量为(6),我们第一轮准备好的线程数(5)>=设置的数量3,就直接发送哀求了(3),此时尚有一个就落单了,落单的那个线程就会不绝等
所以当设置的数量小于线程数时,最好把循环打开,避免最后一次为准备好的线程数量达不到并发数
三:事务控制器
我们如今有5个接口
打开聚合陈诉,就会显示五个接口的相干测试信息
1:创建事务控制器
思考:我们如今如果想要把登录接口和列表接口归并成一个事物,应该怎么做呢?
执行归并操作
再打开聚合陈诉,就会发现,多了一行我们的登录事务
2:聚合陈诉的信息讲解
登录和用户信息接口均匀相应时间分别为34ms和22ms,相加登录事务为56ms
列表页返回的data数据比较多,所以相应的时间比较高是正常的
一般看90%的哀求对应的相应时间
(1)异常就是错误率
(2)吞吐量——有两种划分方式
①哀求的数量划分
TPS——每秒处置惩罚的事务数量(常用)发送很多哀求,每秒处置惩罚的事务数越高,tps越高,性能越高
QPS——每秒的查询率
②网络数据包划分
四:CSV数据文件设置
1:场景引入
以登陆接⼝为例,当我们执⾏登陆接⼝的性能测试时,⼿动设置了⽤⼾名和密码为固定的username和password,然⽽实际使⽤中不大概只有⼀个⽤⼾登陆,为了模仿更真实的登录环境,我们需要提供更多的⽤⼾username和password来实现登录操作
我们如今不把用户名和密码写死,
2:创建我们要的信息
(1)创建一个表格
word文档
(注:如果我们数据库当中的用户数量不多的话,可以自己添加一些数据进去,这里在查察数据库是可以格式化查察,比如select * from user\G)无分号,格式化查察
(2)生存文件
3:参数介绍
⽂件名:填写csv⽂件的路径。建议使⽤绝对路径。
• ⽂件编码:UTF-8
• 变量名称:从csv数据⽂件中读起的数据需要生存到的变量名。有多个变量时⽤逗号分隔
• 是否忽略⾸⾏:是否从csv数据⽂件第⼀⾏开始读取。
• 分隔符:要求与csv数据⽂件中多列的分隔符⼀致
• 碰到⽂件竣事符再次循环:若选择为True当数据不够的时候会从头取。若选择False,则需要勾选
下⾯的设置,碰到⽂件竣事符停⽌线程,这⾥如果不勾选,哀求将会报错。
4:效果展示
设置多个线程数,我们才能看到多个差别的用户,发起哀求
五:HTTP Cookie管理器
1:浏览器哀求访问场景引入
我们访问第一个login登录接口,会设置这个Cookie信息,
进行302临时重定向之后,第二次访问最下方的login,也会带上一次的Cookie信息
2:Jmeter中不设置Cookie管理器演示
这里没有加入Cookie管理器所以第二次登陆哀求头当中就没有携带上我们当前线程的Cookie信息,所以浏览器就找不到对应的Session会话
3:设置HTTP Cookie管理器
效果展示
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |