关于 CSV Data Set Config 的一些介绍之前已经梳理过了,可以参考: https://www.cnblogs.com/xiaoyu2018/p/10184127.html 。

  今天主要是对于HTTP请求读取CSV文件的数据的一些思路整理,记录的步骤可能比较啰嗦,但有对比就比较好理解。

首先,先添加相应的测试计划、线程组、HTTP请求 以及 CSV Data Set Config

1、测试计划的线程数为1,循环数为1的前提下,修改Sharing mode

数据:线程组A(请求A1),线程组B(请求B1),线程组C(C1)

当有多个线程时:

All threads : 按照执行顺序,每个线程请求行一行数据

(A1,A2,A3取第一行数据,B1,B2,B3取第二行数据;C1,C2,C3取第三行数据)

Current thread group : 每个线程组都是取的第一行数据

(A1,A2,A3取第一行数据,B1,B2,B3取第一行数据;C1,C2,C3取第一行数据)

Current thread : 每个请求的每个线程都是从第一行数据开始取

(A1,A2,A3取第一行数据,B1,B2,B3取第一行数据;C1,C2,C3取第一行数据)

2、测试计划的线程数为n,循环数为1的前提下,修改Sharing mode

数据:线程组A(请求A1,A2,A3),线程组B(请求B1,B2,B3),线程组C(C1,C2,C3)

当有多个线程时:

All threads : 同一个线程组中的所有请求的第n个线程都是取同一行数据,但是所有线程组,都是取新的一行数据

(A1,A2,A3第一次取第一行数据,第二次去第二行数据;B1,B2,B3第一次取第三行数据,第二次取第四行数据;C1,C2,C3第一次取第五行数据,第二次取第六行数据)

Current thread group : 线程组中,每个请求有n个线程,从线程1-n都是从第一行数据开始取

(A1,A2,A3第一次取第一行数据,第二次去第二行数据;B1,B2,B3第一次取第一行数据,第二次取第二行数据;C1,C2,C3第一次取第一行数据,第二次取第二行数据)

Current thread : 每个请求的每个线程都是从第一行数据开始取

(A1,A2,A3第一次取第一行数据,第二次去第一行数据;B1,B2,B3第一次取第一行数据,第二次取第一行数据;C1,C2,C3第一次取第一行数据,第二次取第一行数据)

3、测试计划的线程数为1,循环数为n的前提下,修改Sharing mode

数据:线程组A(请求A1,A2,A3),线程组B(请求B1,B2,B3),线程组C(C1,C2,C3)

当有多个线程时:

All threads : 同一个线程组中的所有请求的第n个循环都是取同一行数据,但是每一轮循环都取新一行数据,不同线程组接着上面线程组的顺序取新一行数据

(A1,A2,A3第一次循环取第一行数据,第二次循环取第二行数据,第三次循环取第三行数据;B1,B2,B3第一次循环取第四行数据,...)

Current thread group : 线程组中,每个循环都取新一行数据;不同线程组,都是从第一行开始取

(A1,A2,A3第一次循环取第一行数据,第二次循环取第二行数据,第三次循环取第三行数据;B1,B2,B3第一次循环取第一行数据,C1,C2,C3第一次循环取第一行数据,...)

Current thread : 每一个请求的线程,每个循环都取新一行数据

(A1,A2,A3第一次循环取第一行数据,第二次循环取第二行数据,第三次循环取第三行数据;B1,B2,B3第一次循环取第一行数据,C1,C2,C3第一次循环取第一行数据,...)

4、测试计划的线程数为n,循环数为n的前提下,修改Sharing mode

数据:线程组A(请求A1,A2,A3),线程组B(请求B1,B2,B3),线程组C(C1,C2,C3)

当有多个线程时:

All threads : 线程组中所有请求的同批次线程取相同数据,每个请求的每个线程、每一轮循环都取新一行数据,不同线程组接着上面线程组的顺序取新一行数据

(A1执行了 2*3=6次,分别取了第1-6行数据,A2,A3相同;B1从第1行数开始取,...)

Current thread group : 线程组中,每个线程每次循环都取新一行数据;不同线程组,都是从第一行开始取

(A1执行了 2*3=6次,分别取了第1-6行数据,A2,A3相同;B1从第1行数开始取,...)

Current thread : 每一个请求的线程,都是从第一行开始,每个循环都取新一行数据

(A1执行第一个线程,循环了3次,分别取第1-3行数据;第二个线程,还是取第1-3行数据;A2,A3相同;B1从第1行数开始取,...)

总结:

All threads : 不区分线程组,按照执行顺序,每个线程、每次循环,都会取新一行数据

Current thread group : 线程组中,每个线程、每次循环都取新一行数据;不同线程组,都是从第一行开始取

Current thread : 每一个请求的线程,都是从第一行开始,每个循环都取新一行数据

(线程数和循环数,是指线程组中配置“线程属性”)

JMeter学习笔记(十一) 关于 CSV Data Set Config 的 Sharing mode 对取值的影响的更多相关文章

  1. Jmeter 二次开发 将CSV Data Set Config添加从哪一行开始读数据

    经常遇到性能测试的时候,有100万条数据,才用了5万条,中途因为某些原因停止了,继续用的时候, 要么要清除DB中数据,要么要清除数据源中的数据, 觉得特别麻烦, 希望改写下代码,将 Ignore fi ...

  2. 【Jmeter测试】如何使用CSV Data Set Config获取参数

      Jmeter提供CSV Data Set Config作为参数获取的一种方式​ ​ 1.文件名:csv文件的绝对路径2.文件编码:根据运行环境设置,个人常用的是mac和linux,所以这里选择UT ...

  3. Jmeter参数化(_csvread函数、CSV Data Set Config)

    方法一.Jmeter自带的函数助手——_CSVRead函数 1.数据准备:先在excel存储数据,保存格式选择csv格式.或在记事本存储数据,列之间用英文逗号分隔,保存为txt 2.使用_csvrea ...

  4. jmeter配置原件之使用CSV Data Set Config参数化

    测试过程中经常需要对发送的请求进行参数化,jmeter提供的CSV Data Set Config 配置元件可以很好的对请求数据进行参数化,下面介绍使用CSV Data Set Config参数化 1 ...

  5. Jmeter(7)参数化csv data set config

    接口测试同一变量或同一组变量不同值时,可通过csv data set config配置数据 1.创建文本文件,写入参数值,一个或一组值为一行,保存为.csv文件 2.创建测试计划,配置元件添加csv ...

  6. 学习笔记 - 深究Bitmap压缩避免OOM的核心inSampleSize的最佳取值

    /** * 测试代码,通过在SDCard根目录放置几种不同大小的图片, 来自动测试压缩方式是否有效同时看是否会内存不够. * * @since * By:AsionTang * At:2014年3月2 ...

  7. jmeter参数化之CSV Data Set Config

    在jmeter中,可以用CSV Data Set Config实现参数化. 1.准备参数化数据

  8. jmeter学习笔记--线程组

    jmeter组件:线程组 是什么? 进程:一个正在执行的程序对应一个进程 线程:进程中的执行线索(一个进程中有多个执行线索) 线程组:按照线程性质对线程进行分组 并发执行:多个线程同时进行    特点 ...

  9. CSV Data Set Config设置

    Jmeter参数化常用的两种方法: 1.使用函数助手 2.CSV Data Set Config 本章主要讲解CSV Data Set Config设置 1.Filename:文件名,指保存信息的文件 ...

随机推荐

  1. jQuery 效率提升建议

    jQuery简洁通用的方法集把编码者从繁重的工作中解脱出来,也拉低了进入javascript的门槛,初学者对浏览器兼容性一无所知的情况下,几行代码就可以写出超炫的特效.网上有一篇文章转载比较泛滥,已经 ...

  2. python实现连续子数组的最大和

    题目描述 HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学.今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决.但是,如果向量 ...

  3. 缓冲区溢出实战教程系列(二):dev c++编译汇编代码

    小伙伴们对我上一篇文章的反应完全出乎了我的意料,感谢大家对我的支持和认可.接下来我会精心的把这一系列课程设计好,尽量详细的展示给大家.上篇文章我列举了一个缓冲区溢出的小例子,并提到了dev c++.o ...

  4. Java +安卓 定时任务

    1.android 自带闹钟定时任务 安卓闹钟可以配合广播来实现(不推荐),系统资源浪费,安卓系统在5.0以后的定时 任务貌似触发时间不准了,因为了为了省电. //获取系统闹钟 AlarmManage ...

  5. EAIntroView–高度可定制的iOS应用欢迎页通用解决方案

    简介 高度可定制的应用欢迎页通用解决方案,可高度定制,不要仅限于现有的demo. 项目主页: EAIntroView 最新示例: 点击下载 入门 安装 安装后,引入” EAIntroView.h”并设 ...

  6. iOS 远程通知(Remote Notification)和本地通知(Local Notification)

    ios通知分为远程通知和本地通知,远程通知需要连接网络,本地通知是不需要的,不管用户是打开应用还是关闭应用,我们的通知都会发出,并被客户端收到 我们使用远程通知主要是随时更新最新的数据给用户,使用本地 ...

  7. jquery操作元素的位置

    .offset() 在匹配的元素中,获取第一个元素的当前坐标,或设置每一个元素的坐标,坐标相对于文档. .offset() 这个不接受任何参数. var offset = p.offset(); // ...

  8. JS-输入数字输出大写中文

    function(n) { var fraction = ['角', '分']; var digit = [ '零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', ...

  9. 在ubuntu中docker的简单使用(一)

    >>docker version 当运行docker version 命令出现Cannot connect to Docker daemon. Is the docker daemon r ...

  10. poj_1995_Raising Modulo Numbers

    Description People are different. Some secretly read magazines full of interesting girls' pictures, ...