基本概念:
1.测试计划
表示的是一系列描述步骤,可以由一个或者多个线程组构成,一个线程组又可以表示是一个业务流(功能)的实现
2.线程组
线程组是一个测试计划的开始点,在一个测试计划中的所有取样器和逻辑控制器元件都必须在某个线程组下。所有的任务都是基于线程组
3.组件与元件
线程、配置元件、监听器等叫组件,组件下面的每个子菜单叫元件,组件就是一组元件
4.线程组的配置说明
线程数:线程数也就是并发数,每个线程将会完全独立地运行测试计划,互不干扰。多个线程用于模仿对服务器的并发访问,比如配置成10就表示模拟10个用户对接口发起请求,默认是1
Ramp-Up时间:表示启动线程的时间,比如线程数是10,Ramp-Up时间是2,则表示在2s内完成总共10个用户的启动,就是每秒钟启动5个用户;如果不配置Ramp-Up时间或配置为0,表示立即启动所有线程
循环次数:设置线程组下面的元件执行的次数,比如设置成3表示下面的元件执行3次;注意:如果线程数数M,循环次数是N,则总共会执行M*N次
same user on each interation 【选中】可以理解为每次循环都是同一个用户 【不选中】也就是每次循环都是新的用户
延迟创建线程直到需要:当启动线程发送请求时,才分配资源;如果暂未启动该线程,则不分配。如果不勾选,在jmeter点击运行时立即分配(使用不多,了解即可,无法观察效果)
调度器:在勾选调度器的前提下,可以通过设置启动延迟来实现线程的延迟启动;如果不勾选调度器,默认是立即启动线程
持续时间:设置jmeter脚本的持续运行时间,如果脚本的运行时间小于持续时间,则需要勾选循环次数为永远才看得出效果
启动延迟:表示脚本延迟启动的时间,在点击启动后,如果启动时间已经到达,但是还没有到启动延迟的时间,那么,启动延迟将会覆盖启动时间,等到启动延迟的时间到达后,再运行系统
5.setUp线程组和tearDown线程组
setUp线程组会在所有普通线程组执行之前执行,tearDown线程组会在所有普通线程组执行之后执行
线程组属性:
6.测试计划下多个线程组的执行顺序
默认情况下,测试计划下的“独立运行每个线程组”选项是没有勾选的,表示测试计划下的所有线程组是同时执行的(谁先抢到资源就先执行谁),如果勾选了这个选项,就表示按测试计划下线程组的添加顺序依次执行
7.同一个线程组下面的多个线程的执行顺序
同一个线程组下所有的线程是同时执行的,谁先抢到资源就先执行谁
8.100个线程循环1次和1个线程循环100次的区别
前者相当于100个用户同时请求服务器,后者相当于1个用户请求100次,显然是前者对服务器的压力会更大
9.在JMeter上配置fiddler作为代理
添加一个HTTP请求默认值的元件,在高级页面配置代理服务器的IP和端口,配置的效果就是在该HTTP请求默认值的作用域范围内的所有HTTP请求的代理都采用这里配置的代理