1.JMeter中场景设计是通过线程组来实现的
如图:
控制面板中各元素介绍:
名称:可以随意设置,最好有业务意义。
注释:可以随意设置,可以为空。
在取样器错误后要执行的动作:其中的某一个请求出错后的异常处理方式。
继续:请求(Sampler元件模拟的用户请求)出错后继续运行。为什么要继续运行呢?在大量用户并发时,服务器偶尔响应错误是正常现象,比如服务器由于性能问题不能正常响应或者响应慢,此时出错我们正好要记录下来,作为有性能问题的依据。
Start Next Thread Loop:如果出错,则同一脚本中的余下请求将不再执行,直接重新开始执行
停止线程:如果遇到请求(Sampler元件模拟的请求)失败,则停止当前线程,不再执行
停止测试:如果某一个线程的某一个请求失败了,则停止所有线程,也就是停下整个测试。但是每个线程还是会执行完当前迭代后再停止
Stop Test Now:如果有线程的请求失败了,马上停止整个测试场景
线程属性:
线程数:运行的线程数设置,一个线程对应一个模拟用户。
Ramp-Up Period(in seconds):线程启动开始运行的时间间隔,单位是秒。即所有线程在多长时间内开始运行。比如设置线程数为50,此处设置10秒,那么每秒就会启动50/10=5个线程。如果设置为0秒,则开启场景后50个线程立刻启动。
循环次数:请求的重复次数。选择永远,那么请求将一直运行,除非停止或崩溃;如果不选择永远,而在输入框中输入数字,那么请求将重复指定的次数,如果输入1,那么请求将执行一次,执行0次无意义,所以不支持。
Same user on each iteration
选中:每次循环用第一次的cookie,不再更新;可以理解为每次循环都是同一个用户。
不选中:每次循环都是用新的cookie值;可以理解为每次循环都是不同的用户。
Delay Thread creation until needed:勾选,线程在Ramp-Up Period的间隔时间启动并运行。比如50个线程10秒的Ramp-Up Period时间,那么间隔1秒启动5个线程并运行(RUNNING状态)后面的Sampler。不勾选,测试计划开始后启动所有线程(NEW状态),但不立即运行Sampler,是按照Ramp-Up Period时间来运行的。比如50个线程10秒的Ramp-Up Period时间,那么计划开始后线程全部就绪,但第1秒只会有5个线程开始运行Sampler。实际运用过程中选哪一个都可以,不影响测试结果。
调度器:勾选调度器后,可以编辑持续时间和启动延迟时间。
持续时间(秒):测试计划持续多长时间。如果设置了持续时间,JMeter将使用它来计算结束时间。
启动延迟(秒):点击执行按钮后,仅初始化场景,不运行线程,等待延迟到时后才开始运行线程。如果设置了启动延迟,JMeter将使用它来计算开始时间。