一、事务控制器
1、线程组下添加配置原件->事务控制器,把同类接口放到一个事务控制器下,勾选“Generat parent sample” 聚合报告中除了吞吐量(TPS),其他数值都是多个接口相加。
2、仅一次事务控制器,用来存放登录操作的请求
3、吞吐量控制器,比如发帖和回帖接口,一个发帖下面跟着5个回帖,还比如淘宝网站搜索物品比下单的要多很多,这时可以用吞吐量控制器进行流量控制
Percent Executions:默认,按照百分比分配流量,总线程数的多少,比如发帖接口设置20
Total Executions:接口总执行的次数,数值不能超过总的线程数
二、if控制器
1、作用:判断请求是否可执行
2、需求:测试计划中定义一个http请求访问传智播客官网,但是该请求不是无条件执行的,声明一个用户定义的变量,如果变量是itcase才执行,否则就不执行
1)、搭框架,测试计划、线程组、结果树,声明一个用户定义的变量
2)、核心:添加if控制器,子级添加http取样器,存在父子级关系。
3、控制器填写判断条件:
4、定义用户变量:
条件成立,请求执行,查看结果树会有执行数据。
条件不成立,请求不执行,查看结果树为空。
三、forEach控制器
1、作用:循环遍历变量中的数据
2、需求:有一组关键字【hello、python、测试】(使用用户定义的变量存储)要依次取出,并在百度搜索
1)、搭框架,测试计划、线程组、结果树,声明一个用户定义的变量,存储一组数据
2)、添加forEach控制器,子级添加取样器
3)、百度搜索关键字
变量${val}值传递给http请求
变量值循环获取执行
四、循环控制器
1、需求:循环访问学生管理系统10次
1)、搭框架,测试计划、线程组、结果树
2)、添加循环控制器,子级添加取样器
正常循环是在线程组中属性中的循环次数设置,这样是每个请求循环次数一致。
如果要求每个请求的循环次数不一致,就用到循环控制器
执行结果,HTTP请求1执行5遍,HTTP请求2执行2遍