引言:
进行性能测试时,我们需要根据不同的情况来设置不同的执行流程,而逻辑控制器可以帮助我们实现这个目的。
在本文中,我们将深入了解JMeter中的逻辑控制器,包括简单控制器、循环控制器等,并学习如何正确使用它们来实现不同的测试需求。
正文:
JMeter里面的逻辑控制器有很多,今天我们抽两个来聊一下。
就像官网的说的,用户可以用逻辑控制器来控制何时发送请求,改变请求的发送顺序以及设置需要重复联跑的请求等等。
If Controller
If控制器,使用方法和我们代码中常用的if函数是一样的。使用一个布尔变量或者一组计算表达式,判断true或者false。
如下图所示,显示一个If Controller的使用。这里使用的是JMeter自带函数jexl3,判断前一个响应的message是否等于7。If Controller Request请求,进行一组数字的最大值判断。如果message等于7,则执行If Controller里面的请求hello jmeter。
如下图,在结果树中显示的执行结果。
当If Controller发现message值不是4的时候,就不会执行里面的请求。如下图,更改message判断值为1时,结果树中只有If Controller Request的执行结果。
Loop Controller
循环控制器,主要是循环执行Loop Controller里面的请求,只需要设置Loop Count的值就可以进行循环次数的控制。Infinite表示无穷大,控制器一直执行。
执行后的结果如下,结果树显示10次,与Loop Count设置一致。
If Controller Request是一个获取最大值的接口,源码如下:
public String IfController(){ int flag = 0; int[] array = new int[]{1,4,3,7,5}; for(int i = 1; i < array.length; i++){ if(flag < array[i]){ flag = array[i]; } } return "{\"state\":200,\"code\":\"0\",\"message\":\""+flag+"\"}"; }
今天我们就聊到这里了,有建议的小伙伴可以留言,共同交流哦。
最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!
在我的QQ技术交流群里(技术交流和资源共享,广告勿扰)