- ForEach Controller(遍历循环控制器)
场景:http://jmeter.apache.org/demos中过滤出.jmx,并访问
正则表达式要用()括起来,如果没有括号访问不到请求。ForEach Controller循环控制器脚本文件 - Include Controller(包含控制器):用来打入外部测试片段,在执行时会导入。但是导入的测试片段不能包含线程组,只能包含简单的控制元件及控制元件下的子元件
- Simple Controller(简单控制器):用来指定一个执行单元,不改变元件的执行顺序
- Runtime Controller(时间控制器):用来控制其子元件的执行时长
- Switch Controller(条件控制器):取样器(Sample)中的请求默认从0开始标号,若条件控制器不指定,默认执行第一个请求(0标号)。执行条件可以填写标号,也可以填写请求名称(严格匹配),若匹配不到则不执行。
- While Controller(while循环控制器):2个固定参数
a.blank(空白,不填写任何值):循环中最后一个请求失败,则跳出循环
b.last:循环中最后一个请求失败,则跳出循环。或者循环之前有失败则不进入循环
例如:
a.参数填写:空白不填写任何值,循环中有2个请求(第一个请求是正确的,第二个请求是错误的),执行一次就退出循环了
b.参数填写:空白不填写任何值,循环中有2个请求(第一个请求是错误的,第二个请求是正确的),不会退出循环,除非手动停止
c.参数填写:last,同上面的blank情况(a、b)
d.参数填写:last,但是在循环之前有个错误的请求,不会进入到循环中执行 - Interleave Controller(交替控制器):交替执行请求
例如:此控制下有3个请求(1、2、3),线程组循环次数设置为5次,则执行结果为1、2、3、1、2 - Once Only Controller(一次控制器):只执行一次,即使放在Loop controller中(循环此时设置为n次),也执行一次
- Throughput Controller(吞吐量控制器):
当选择为Total Exacutions模式:
勾选Per user 执行次数为 线程数*循环次数 和 线程数* throughput值 取其中最小的
不勾选Per user 执行次数为 线程数*throughput值 和 throughput值 取其中最小的 - Module Controller(模块控制器):通过模块控制器在当前测试计划中引入新的测试片段
- Random Controller(随机控制器):随机执行请求,只执行一次请求
- Random Order Controller(随机顺序执行控制器):执行循序随机,但是每个元件都会执行一遍
例如 循环中有1、2、3、4个请求,线程组循环次数为2
Random Controller Random Order Controller 2 2、1、4、3 4 4、3、1、2 - Loop Controller(循环控制器):如果线程组设置了循环次数,那么下面的元件执行的次数为线程组循环数*循环控制器循环数
- Recording Controller (录制控制器):顾名思义是录制时候用到的,实际上他是一个位置,当用lmeter代理进行录制时,录制脚本默认存放在此控制器下,实际没有逻辑作用
- Transation Controller (事物控制器):把其节点下的执行器消耗时间加一起,如果事物控制器有多个取样器,每个取样器都运行成功,整个事物才算成功
Jmeter(三)——控制器(Logic Controller)
最新推荐文章于 2025-02-06 15:19:24 发布
