Jmeter的逻辑控制器需要配合取样器一起使用,通过逻辑控制器可以灵活控制我们不同取样器的执行场景。
如图所示有如此多的控制器,我们接下去一个个介绍一下。
1.如果(If)控制器
如图所示,我添加了两个分支,分别是访问百度和博客的请求,
为了测试我们的分支,我们可以新建一个变量,根据这个变量取决定要走哪条分支:
(1)这里设置一个name的变量
(2)设置两条分支的不同条件,当name为baidu时,访问百度;当name为cnblogs时访问博客:
(3)修改我们的变量,当name为baidu时,查看运行的结果:
当修改我们的变量为cnblogs,查看运行结果
注意:
Expression (must evaluate to true or false) :表达式(值必须是true或false),也就是说,在右边文本框中输入的条件值结果必须是true 或 false
Interpret Condition as Variable Expression?:默认勾选,将条件解释为变量表达式(需要使用__jexl3 or __groovy 表达式)。
如果不知道这个表达式的语法,可以点击函数助手自动生成:
Evaluate for all children?:条件作用于每个子项
2.事务控制器
有时候我们需要将多个请求合并成一个事务处理。这个时候需要用到事务控制器,如图所示我需要将访问sina和163的合并成一个事务去处理:
此时我们可以发现整个事务的加载时长是各个请求时长的总和: