一、测试计划;双击jmeter bin目录下的jmeter.bat,弹出jmeter工具,直接显示测试计划;
测试计划描述了jmeter 在运行时将执行的一系列步骤;最小的测试包括:测试计划,线程组和一个或多个采样器;
二、线程组;线程组的控件可以设置线程数、加速时间(ramp-up period(in seconds))、执行测试的次数;
ramp-up period单位是秒,默认是1秒,即指定启动所有线程数花费的时间;
在循环次数不是(-1或永远)时,运行时间取(持续时间,循环次数*迭代持续时间)的最小值;
请求总数=总用户数(线程数)*请求总数*循环次数;
如下图:5s中起10个线程,那么jmeter启动每个用户之间要延迟多久呢?5s/10用户=0.5s,启动用户之间的延迟为500ms;如果Ramp-up period设置为0,则jmeter立即启动所有(10)用户;
三、取样器;取样器告诉jmeter将请求发送到服务器并等待响应;安装取样器的出现顺序进行处理;
逻辑控制器可以修改取样器的重复次数;
四、逻辑控制器;如登录可以使用‘仅一次控制器’,同时需添加cookie管理器;
五、监听器;常用的是‘查看结果树’、‘聚合报告’;
六、定时器;默认情况下jmeter按顺序执行取样器而不会暂停;可以添加定时器来指定延迟;
七、断言;判断返回结果是否符合预期;
八、配置元件;配置元件尽管不发送请求,但它可以添加或修改请求;如下图请求1、3使用的http请求默认值3;
九、前置处理器;
十、后置处理器;
小结1:元件执行顺序如下
配置元素——>前置处理器——>定时器——>取样器——>后置处理器——>断言——>监听器
小结2:范围界定规则
jmeter测试树包含层次结构和有序元素;
分层元素:监听器、配置元素、前置处理器、后置处理器、定时器、断言;
有序元素:逻辑控制器、取样器;
如下图:请求的顺序是1、2、3、4
某请求下的断言或定时器,只作用域该请求;如:响应断言只作用于请求1;定时器300只作用于请求3;
定时器3000作用于控制器下的请求2、3;
定时器500,监听器,配置元素(请求默认值),作用于请求1、2、3、4;
那么定时请求1=500;请求2=3500;请求3=3800;请求4=500;
由表格察看结果可知:请求2定时=50589-47029-59=3501;请求3定时=54440-50580-51=3809;
请求4定时=55058-54440-117=501 与上面计算的大体相同;
分层元素作用于其“父”下面的所有请求;
配置元素的标题管理器,Cookie管理器和授权管理器与配置默认元素的处理方式有所不同。“配置默认值”元素中的设置被合并为采样器可以访问的一组值。但是,管理器中的设置不会合并。如果在一个采样器的范围内有多个Manager,则仅使用一个Manager,但是目前无法指定使用哪个 Manager 。