CSV Data Set Config 拓展开发
1.目的
在日常的性能测试项目中,经常会遇到参数化的问题,我们所熟知的LR工具对参数化支持非常友好,然而JMeter相对逊色一些。大家都知道在使用JMeter工具参数化时常用CSV Data Set Config配置元件,本次就是针对此元件进行拓展开发,使其支持数据分块功能。
2.思路
本文主要介绍思路,如何搭建JMeter二次开发环境本文就不再赘述,请大家自行百度。本次采用JMeter版本为5.1.1版本。具体思路如下:

3.效果
- 脚本截图

说明:2个线程各执行2次,参数化文件存在4个参数值A、B、C、D

说明:“独享块数据” 为本次开发的新功能

说明:打印当前出线程读取的参数值
执行结果如下:

第一个线程读取的是A,B;第二个线程读取的是C,D(此时没有开启独享块数据功能),开启后执行结果如下:

然后感觉并没有啥区别啊。。。。卖了个关子,造成此现象的原因就在于:线程执行次数为2,将执行次数改成3,我们再执行下:

哈哈哈,这才对嘛! 第一个线程只会从前2个值(A,B)中反复取值,第二个线程只会从后2个值(C,D)中反复取值。我们再将独享块数据功能关闭,且仍保持线程执行次数为3,执行结果如下:

大家自行体会下!希望对大家有所帮助,如有疑问请联系宝路。
CSV Data Set Config 拓展开发的更多相关文章
- Baolu CSV Data Set Config
1.背景 大家在平常使用JMeter测试工具时,对CSV Data Set Config 配置元件肯定不会陌生.如果我们的压测场景涉及到数据库更新操作(如:转账接接口)则需要对参数化数据进行分块,可就 ...
- Jmeter 二次开发 将CSV Data Set Config添加从哪一行开始读数据
经常遇到性能测试的时候,有100万条数据,才用了5万条,中途因为某些原因停止了,继续用的时候, 要么要清除DB中数据,要么要清除数据源中的数据, 觉得特别麻烦, 希望改写下代码,将 Ignore fi ...
- JMeter学习-010-JMeter 配置元件实例之 - CSV Data Set Config 参数化配置
众所周知,在进行接口测试的过程中,需要创建不同的场景(不同条件的输入,来验证不同的入参的返回结果).因而,在日常的自动化接口监控或商品监控等线上监控过程中,需要配置大量的入参来监控接口的返回是否正确. ...
- Jmeter—6 CSV Data Set Config 通过文件导入数据
线程组循环次数大于1的时候,请求里每次提交的数据都相同.有的系统限制了不能提交相同数据,我们通过 CSV Data Set Config 加载csv文件数据. 1 创建一个文本文件,输入参数值保存为. ...
- Jmeter组件1. CSV Data Set Config
位置:Test Plan | Add | Config Element | CSV Data Set Config 意义: 脚本参数化 节省CPU跟内存(可以准备好数据文件去代替动态生成数据,节约CP ...
- JMeter脚本参数化和断言设置( CSV Data Set Config )
用Badboy录制了Jmeter的脚本,用Jmeter打开后形成了原始的脚本.但是在实际应用中,为了增强脚本的多样性,就要使脚本参数化.这里我以登录为例,参数化用户账号与用户密码. 图1 :原始脚本 ...
- jmeter参数化之CSV Data Set Config
在jmeter中,可以用CSV Data Set Config实现参数化. 1.准备参数化数据
- 转:Jmeter之使用CSV Data Set Config实现参数化登录
在使用Jemeter做压力测试的时候,往往需要参数化用户名,密码以到达到多用户使用不同的用户名密码登录的目的.这个时候我们就可以使用CSV Data Set Config实现参数化登录: 首先通过Te ...
- 转:CSV Data Set Config 中文乱码问题
从csv读取中文一直乱码. CSV Data Set Config的File encoding为GB2312,对应参数化文件编码也为GB2312,但读取出变量值一直为乱码,后发现是Allow quot ...
随机推荐
- GStreamer基础教程04 - 动态连接Pipeline
摘要 在以前的文章中,我们了解到了2种播放文件的方式:一种是在知道了文件的类型及编码方式后,手动创建所需Element并构造Pipeline:另一种是直接使用playbin,由playbin内部动态创 ...
- Balking设计模式
import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.util.ArrayLi ...
- who are you?
不多说,直接使用脚本跑 # -*- coding:utf-8 -*- import requests import string url = "http://ctf5.shiyanbar.c ...
- css的优先级 和 权重问题 以及 !important 优先级
css的优先级 和 权重问题 以及 !important 优先级 css选择有多少种? 行内样式(style="") id选择器(#) class选择器(类,伪类) 元素选择器(标 ...
- VS2010中GetMenu()和GetSubMenu(0)为NULL引发异常的解决方法 及添加方法
对于前面问题的分析:来源于http://blog.163.com/yuyang_tech/blog/static/216050083201211144120401/ 解决方法1: //来源:http: ...
- 实验吧--web--天下武功唯快不破
---恢复内容开始--- 英文翻译过来嘛,就是:天下武功无快不破嘛.(出题者还是挺切题的) 看看前端源码: 注意这里 please post what you find with parameter: ...
- Spring Cloud中Hystrix、Ribbon及Feign的熔断关系是什么?
导读 今天和大家聊一聊在Spring Cloud微服务框架实践中,比较核心但是又很容易把人搞得稀里糊涂的一个问题,那就是在Spring Cloud中Hystrix.Ribbon以及Feign它们三者之 ...
- CUDA编程学习笔记2
第二章 cuda代码写在.cu/.cuh里面 cuda 7.0 / 9.0开始,NVCC就支持c++11 / 14里面绝大部分的语言特性了. Dim3 __host__ __device__ dim3 ...
- JavaSE总结(二)
一.Java Number .65f;byte c =0x4a; 然而,在实际开发过程中,我们经常会遇到需要使用对象,而不是内置数据类型的情形.为了解决这个问题,Java 语言为每一个内置数据类型提供 ...
- mysql协议分析1---报文的格式和基本类型
navicat 和 mysql 是一对好基友,每天都有非常频繁的交流,主人在navicat上写下每条sql语句,轻轻的点了下执行按钮,navicat就飞快的把主人的指令传送到mysql那里,mysql ...