java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > jmeter if控制器

jmeter基础逻辑控制器之if控制器的使用

作者:妖孽的李二狗

在实际工作中,当使用JMeter做性能脚本或者接口脚本时,当遇到需要对不同的条件做不同的操作时,我们可以使用JMeter中if控制器来实现,本文就详细的介绍一下如何使用

jmeter中存在很多逻辑控制器,类似于代码中的if条件控制,for循环等,接下来我们来简单介绍下jmeter中的if条件控制器。

我们先来了解一下if控制器,含义:根据判断条件决定是否执行该控制器内的请求,如果是字符串比较条件,参数和字符串 都需要加引号 

条件格式:${__jexl3(条件表达式)}:

== 是否等于,如${__jexl3(${VAR}==1,)},判断${VAR}变量是否等于1

!=不等于,如${__jexl3(${VAR}!=1,)},判断${VAR}变量是否不等于1

!非,如${__jexl3(!(${VAR}!=1),)}对${VAR}!=1的结果取反

&&或||且与或,如  ${__jexl3(${VAR}==1 && ${name} != "heima",)}

> 或者>== 大于等于,如${__jexl3(${count}>=10,)}

接下来我们以获取主题列表接口作为示例:

在这里插入图片描述

然后将这个接口中的limit参数设置为一个全局变量,添加用户定义的变量

在这里插入图片描述

在这里插入图片描述

然后在线程组中添加一个if条件控制,逻辑控制器–>if控制器,并把这个获取主题列表的接口移动到控制器中

在这里插入图片描述

在这里插入图片描述

接下来我们需要在控制器中编写表达式

在这里插入图片描述

接下来我们运行结果得到执行了以下接口请求

在这里插入图片描述

接下来我们可以在添加一次控制器和对应的请求:

在这里插入图片描述

如果limit我们所传的值是5,那么我们将执行下面这个请求2,然后我们将全局变量仍设置为1,运行后查看效果:

在这里插入图片描述

以上我们看到还是只执行了第一个请求,并未执行请求2,因为我们设置的参数并不满足第二个if控制器。

If控制的使用能够让我们更灵活的使用jmeter进行接口测试,根据我们参数的传递自动去执行满足我们条件的接口,特别有些公司可能有多套环境,纳闷我们也可以使用这种方法进行分类划分执行。

到此这篇关于jmeter基础逻辑控制器之if控制器的使用的文章就介绍到这了,更多相关jmeter if控制器内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文