JMeter:如何让登录线程组先执行完成后再并行运行其他线程组?
JMeter 实现登录线程组优先执行,后续线程组并行运行
方案1:线程组顺序控制+同步定时器
- 测试计划配置:勾选「Run Thread Groups Consecutively」(按顺序运行线程组),将Login-1线程组放在最上方,确保它完整执行完毕后,才启动后续线程组。
- 并行线程组配置:在Thread group-2和Thread group-3中分别添加「Synchronizing Timer」,把「Number of Simultaneous Users to Group by」设置为2(对应需要并行的线程组数量),让两个线程组同时触发执行,实现并行效果。
方案2:全局变量标记+等待控制器
- 登录线程组收尾:在Login-1的最后添加「User Defined Variables」,设置测试计划级别的全局变量
login_completed=true。 - 并行线程组等待:在Thread group-2和Thread group-3的开头添加「While Controller」,设置条件为
${__jexl3("${login_completed}" != "true",)}。 - 测试计划配置:取消勾选「Run Thread Groups Consecutively」,让所有线程组同时启动。此时Thread group-2和Thread group-3会卡在While控制器,直到Login-1完成并设置全局变量,之后二者自动并行执行。
关键注意事项
- 若Login-1包含多线程,需在其最后添加「Synchronizing Timer」,设置值为Login-1的线程数,确保所有登录线程都执行完成后再标记登录状态。
- 方案2中的全局变量必须设置为测试计划级,避免因线程组局部变量导致其他线程组无法读取。
内容的提问来源于stack exchange,提问作者Ashwinkumar Iyer
相关产品推荐
相关产品推荐

