Jmeter混合场景测试if控制器失效解决方法

前言

公司需要进行小程序的压力测试,所以去温习了一下混合场景的解决方法,方法有很多,看了别人家的博客,挑选了感觉比较实用且简单的方法去实操,一种就是运用if控制器,一种就是运用吞吐量控制器,但是在实操过程中发现没有结果产生

if控制器方法

1.添加一个随机变量
在这里插入图片描述
2.设置随机变量值
在这里插入图片描述
3.添加if控制器,每个控制器下放一个请求
在这里插入图片描述
4.设置控制器条件 r a n d {变量名},我上面随机变量设置的是rand,所以我这里设置成 {rand}<=2,另一个if控制器下设置成${rand}>2,因为你的变量是1-10,所以这样设置就成了2:8的混合业务场景,具体业务场景可以根据你的需要自己设置
在这里插入图片描述

5.出错的地方来了,按照上面的步骤运行会发现聚合报告下面没有执行请求,然后自己看到if控制语句下勾选“interpret condition as variable expression”,然后我取消打勾试一试发现果然可以,然后上网查了一下翻译,再群上结合大佬的解释,下面放上大佬的解释:
勾选“interpret condition as variable expression”,这时expression中不能直接填写条件表达式,需要借助函数将条件表达式计算为true/false,可以借助的函数有_jexl3和_groovy,例如:直接填写${rand}==5,是不能识别的,所以需要把if控制语句下的interpret condition as variable expression都取消勾选。这里我线程组设置的是100次并发,运行查看结果
在这里插入图片描述

结语

可以看到柠檬占了78个,好瘦占了22个,大概是8:2的比例,至此就圆满完成了。

猜你喜欢

转载自blog.csdn.net/DFireTesting/article/details/107507423
今日推荐