一、写在前面的话:
上篇我们已经认识了JMeter的图形界面,大家应该都是很懵的。那么这篇,我们将学习使用JMeter创建第一个属于自己测试用例。
二、创建自己的第一个测试用例:
1、新建一个Thread Group:
创建方式:点击TestPlan,右键,选择Add->Threads(Users)->Thread Groups(如下图):
Thread Group是用来模拟用户的行为,叫线程组。我们可以修改名称为Users,修改后点击TestPlan,左侧名称就会跟着改过来,如下图:
2、Thread Group(线程组)简单介绍:
1)线程组:
名称:随意设置,最好具有业务意义
注释:随意设置,可以为空
2)在取样器错误后要执行的动作:也就是其中一个请求出错后的异常处理方式
继续,请求出错后继续运行,大量并发时,服务器出错是正常的事情,所以需要继续执行,记录出错作为性能依据
Start Next Thread Loop:如果出错,同一脚本余下的请求不再执行,直接重新开始执行。比如,登录失败了,发帖的操作不再执行,重新开始下一轮迭代,从登录开始
停止线程,如果出现请求失败,停止当前线程,不再执行;如果失败的事物增多,停下的线程也会增多,造成负载不够,一般不这么设置
Stop Test Now:如果有线程请求失败了,立即停止测试场景
3)线程属性:
线程数:运行的线程数设置,一般一个线程对应一个模拟用户
Ramp-up period:线程启动开始运营的时间间隔,单位是s。即所有线程在多长时间内开始运行。比如,设置线程数50,设置10s,那么每秒启动50/10个,如果设置为0,即开启场景后50个线程立即启动
循环次数:请求的重复次数,选择forever,请求将一直继续除非停止或崩溃;如果不选forever,输入数字,请求将重复指定的次数
Delay Thread creation until needed:勾选,线程在Ramp-up period的间隔时间启动并运行,比如50个线程10s的Ramp-up period时间,那么每隔一秒启动5个线程并运行后面的sampler。不勾选,测试计划开始后启动所有线程,但不立即运行sampler,是按照Ramp-up period时间来运行的。比如50个线程10s的Ramp-up period时间,那么计划开始后所有线程全部就绪,但第一秒只会启动5个线程并开始运营sampler
3、新建一个HTTP请求:
创建方式:点击Users,右键选择add->Sampler->HTTP Request(如下图):
4、更改HTTP名称,设置HTTP请求参数:
设置方式:如下图圈起来的地方,参考填写
5、新建监听:
创建方式:右键Users,add->Lisener->View Results Tree 和Summary Report(如下图)
6、运行测试:
运行方式:点击三角形图标,运行,见证奇迹的时刻到了。
7、执行结果:
View Results Tree:
Summary Report:
到此,我们已经学会创建第一个属于自己的测试用例了。后面我们将更加深入的讲解JMeter的使用和常用功能。