一、jmeter压力测试场景
测试人员在使用jmeter对一个场景进行压力测试,在一个线程组内有多个接口时,测试人员想要测试在特定的时间段内一直循环该线程以测试服务器压力。但是jmeter在run线程组的时候,经常不会按照该线程组内的接口顺序执行(jmeter是并发的),这个时候就会导致上一个接口返回的数据无法传递给下一个接口,整个线程组就会报错。
场景举例:
这个线程组就要求我们需要从上至下进行执行,执行顺序为A-B-C-D,但是jmeter执行之后会发现,执行顺序是乱的,可能是A-D-C-B,可能是D-D-A-C-B等等不符合我们的预期
二、接口实战
我们使用真实的接口来验证jmeter的执行顺序
这是一个app下单的场景,线程组设计了从用户登录到选择商品到下单,这一个线程持续run十分钟。每个接口的关联性都很强(都需要从上个接口获取参数并作为自己的传参)
这个线程组就要求接口要按照从上而下的顺序执行不能并发或逆序。
但是在run之后会发现除了第一次是按照从上而下的顺序执行,其他的都是乱序执行的,这就是因为jmeter独特的并发机制导致的。
三、解决办法
那么如何解决这个问题呢?
很简单,我们只需要在这个线程组内添加一个逻辑控制器即可
如图所示:
在添加了临界部分控制器之后,我们线程组内的接口执行顺序问题就完美的解决了。
网友评论