在工作中经常使用jmeter的csv数据文件来实现参数化,但csv文件的线程共享模式在使用时却很少关注。
1.csv线程共享模式分为3种模式,分别为“所有现场”、“当前线程组”和“当前线程”,如下图所示
2.准备一个csv文件,其内容如下:
1 2 3 4 5 6 7 8 9 10
3.编写一个jmeter测试计划,各线程组配置如下图所示:
4.csv、请求a、请求b均在线程组内,线程共享模式为:”当前线程“,2个线程循环5次
我是线程:1;我是请求a:1 我是线程:1;我是请求b:1 我是线程:2;我是请求a:1 我是线程:2;我是请求b:1 我是线程:1;我是请求a:2 我是线程:1;我是请求b:2 我是线程:2;我是请求a:2 我是线程:2;我是请求b:2 我是线程:1;我是请求a:3 我是线程:1;我是请求b:3 我是线程:2;我是请求a:3 我是线程:2;我是请求b:3 我是线程:1;我是请求a:4 我是线程:1;我是请求b:4 我是线程:2;我是请求a:4 我是线程:2;我是请求b:4 我是线程:1;我是请求a:5 我是线程:1;我是请求b:5 我是线程:2;我是请求a:5 我是线程:2;我是请求b:5
5.csv、请求a、请求b均在线程组内,线程共享模式为:”当前线程组“,2个线程循环5次
我是线程:1;我是请求a:1 我是线程:1;我是请求b:1 我是线程:2;我是请求a:2 我是线程:2;我是请求b:2 我是线程:1;我是请求a:3 我是线程:1;我是请求b:3 我是线程:2;我是请求a:4 我是线程:2;我是请求b:4 我是线程:1;我是请求a:5 我是线程:1;我是请求b:5 我是线程:2;我是请求a:6 我是线程:2;我是请求b:6 我是线程:1;我是请求a:7 我是线程:1;我是请求b:7 我是线程:2;我是请求a:8 我是线程:2;我是请求b:8 我是线程:1;我是请求a:9 我是线程:1;我是请求b:9 我是线程:2;我是请求a:10 我是线程:2;我是请求b:10
6.csv、请求a、请求b均在线程组内,线程共享模式为:”所有现场“,2个线程循环5次
我是线程:1;我是请求a:1 我是线程:1;我是请求b:1 我是线程:2;我是请求a:2 我是线程:2;我是请求b:2 我是线程:1;我是请求a:3 我是线程:1;我是请求b:3 我是线程:2;我是请求a:4 我是线程:2;我是请求b:4 我是线程:1;我是请求a:5 我是线程:1;我是请求b:5 我是线程:2;我是请求a:6 我是线程:2;我是请求b:6 我是线程:1;我是请求a:7 我是线程:1;我是请求b:7 我是线程:2;我是请求a:8 我是线程:2;我是请求b:8 我是线程:1;我是请求a:9 我是线程:1;我是请求b:9 我是线程:2;我是请求a:10 我是线程:2;我是请求b:10
7.csv在线程组外,请求a、请求b在线程组A中,请求c、请求d在线程组B中,线程共享模式为:”当前线程“
我是线程组A线程:1;我是请求a:1 我是线程组A线程:1;我是请求b:1 我是线程组B线程:1;我是请求c:1 我是线程组B线程:1;我是请求d:1 我是线程组A线程:2;我是请求a:1 我是线程组A线程:2;我是请求b:1 我是线程组B线程:2;我是请求c:1 我是线程组B线程:2;我是请求d:1 我是线程组A线程:1;我是请求a:2 我是线程组A线程:1;我是请求b:2 我是线程组B线程:1;我是请求c:2 我是线程组B线程:1;我是请求d:2 我是线程组A线程:2;我是请求a:2 我是线程组A线程:2;我是请求b:2 我是线程组B线程:2;我是请求c:2 我是线程组B线程:2;我是请求d:2 我是线程组A线程:1;我是请求a:3 我是线程组A线程:1;我是请求b:3 我是线程组B线程:1;我是请求c:3 我是线程组B线程:1;我是请求d:3 我是线程组A线程:2;我是请求a:3 我是线程组A线程:2;我是请求b:3 我是线程组B线程:2;我是请求c:3 我是线程组B线程:2;我是请求d:3 我是线程组A线程:1;我是请求a:4 我是线程组A线程:1;我是请求b:4 我是线程组B线程:1;我是请求c:4 我是线程组B线程:1;我是请求d:4 我是线程组A线程:2;我是请求a:4 我是线程组A线程:2;我是请求b:4 我是线程组B线程:2;我是请求c:4 我是线程组B线程:2;我是请求d:4 我是线程组A线程:1;我是请求a:5 我是线程组A线程:1;我是请求b:5 我是线程组B线程:1;我是请求c:5 我是线程组B线程:1;我是请求d:5 我是线程组A线程:2;我是请求a:5 我是线程组A线程:2;我是请求b:5 我是线程组B线程:2;我是请求c:5 我是线程组B线程:2;我是请求d:5
8.csv在线程组外,请求a、请求b在线程组A中,请求c、请求d在线程组B中,线程共享模式为:”当前线程组“
我是线程组A线程:1;我是请求a:1 我是线程组A线程:1;我是请求b:1 我是线程组B线程:1;我是请求c:1 我是线程组B线程:1;我是请求d:1 我是线程组A线程:2;我是请求a:2 我是线程组A线程:2;我是请求b:2 我是线程组B线程:2;我是请求c:2 我是线程组B线程:2;我是请求d:2 我是线程组A线程:1;我是请求a:3 我是线程组A线程:1;我是请求b:3 我是线程组B线程:1;我是请求c:3 我是线程组B线程:1;我是请求d:3 我是线程组A线程:2;我是请求a:4 我是线程组A线程:2;我是请求b:4 我是线程组B线程:2;我是请求c:4 我是线程组B线程:2;我是请求d:4 我是线程组A线程:1;我是请求a:5 我是线程组A线程:1;我是请求b:5 我是线程组B线程:1;我是请求c:5 我是线程组B线程:1;我是请求d:5 我是线程组A线程:2;我是请求a:6 我是线程组A线程:2;我是请求b:6 我是线程组B线程:2;我是请求c:6 我是线程组B线程:2;我是请求d:6 我是线程组A线程:1;我是请求a:7 我是线程组A线程:1;我是请求b:7 我是线程组B线程:1;我是请求c:7 我是线程组B线程:1;我是请求d:7 我是线程组A线程:2;我是请求a:8 我是线程组A线程:2;我是请求b:8 我是线程组B线程:2;我是请求c:8 我是线程组B线程:2;我是请求d:8 我是线程组A线程:1;我是请求a:9 我是线程组A线程:1;我是请求b:9 我是线程组B线程:1;我是请求c:9 我是线程组B线程:1;我是请求d:9 我是线程组A线程:2;我是请求a:10 我是线程组A线程:2;我是请求b:10 我是线程组B线程:2;我是请求c:10 我是线程组B线程:2;我是请求d:10
9.csv在线程组外,请求a、请求b在线程组A中,请求c、请求d在线程组B中,线程共享模式为:”所有现场“
我是线程组A线程:1;我是请求a:1 我是线程组A线程:1;我是请求b:1 我是线程组B线程:1;我是请求c:2 我是线程组B线程:1;我是请求d:2 我是线程组A线程:2;我是请求a:3 我是线程组A线程:2;我是请求b:3 我是线程组B线程:2;我是请求c:4 我是线程组B线程:2;我是请求d:4 我是线程组A线程:1;我是请求a:5 我是线程组A线程:1;我是请求b:5 我是线程组B线程:1;我是请求c:6 我是线程组B线程:1;我是请求d:6 我是线程组A线程:2;我是请求a:7 我是线程组A线程:2;我是请求b:7 我是线程组B线程:2;我是请求c:8 我是线程组B线程:2;我是请求d:8 我是线程组A线程:1;我是请求a:9 我是线程组A线程:1;我是请求b:9 我是线程组B线程:1;我是请求c:10 我是线程组B线程:1;我是请求d:10 我是线程组A线程:2;我是请求a:1 我是线程组A线程:2;我是请求b:1 我是线程组B线程:2;我是请求c:2 我是线程组B线程:2;我是请求d:2 我是线程组A线程:1;我是请求a:3 我是线程组A线程:1;我是请求b:3 我是线程组B线程:1;我是请求c:4 我是线程组B线程:1;我是请求d:4 我是线程组A线程:2;我是请求a:5 我是线程组A线程:2;我是请求b:5 我是线程组B线程:2;我是请求c:6 我是线程组B线程:2;我是请求d:6 我是线程组A线程:1;我是请求a:7 我是线程组A线程:1;我是请求b:7 我是线程组B线程:1;我是请求c:8 我是线程组B线程:1;我是请求d:8 我是线程组A线程:2;我是请求a:9 我是线程组A线程:2;我是请求b:9 我是线程组B线程:2;我是请求c:10 我是线程组B线程:2;我是请求d:10
10.根据上面6种测试场景可以得出以下结论:
- 当前线程:当共享模式设置为“当前线程”时,线程组中的每个线程独立享有csv里的参数内容,不与其他线程共享;
- 当前线程组:当共享模式设置为“当前线程组”时,线程组内的线程共享csv里的参数内容,各线程按顺序依次读取;
- 所有现场:当共享模式设置为“所有现场”时,所有线程组内的线程共同一起共享csv里的参数内容;
- 所有共享模式都不影响同一线程内的不同请求,同一线程内的所有请求均使用同一参数;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
2019-11-28 python利用opencv将一段大视频等份的切成多个小视频段