随笔 - 14,  文章 - 0,  评论 - 4,  阅读 - 23436

在工作中经常使用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里的参数内容;
  • 所有共享模式都不影响同一线程内的不同请求,同一线程内的所有请求均使用同一参数;

 

posted on   tianyun620520  阅读(1946)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
历史上的今天:
2019-11-28 python利用opencv将一段大视频等份的切成多个小视频段

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示