当前位置: 首页 > article >正文

jmeter中csv data set config的Sharing mode和loop控制器结合使用

jmeter中做参数化要注意的事项有很多,比如使用csv data set config配置元件,其配置项sharing mode的不同选项就会影响测试脚本的执行。

举例:

这里使用了loop控制器来循环读取csv文件中的数据,这里的sharing mode选择Current thread

线程数我们设置为1,循环次数设为8

csv文件里有14行数据

运行脚本,看下结果:如下图,读取了前8条数据

将sharing mode设为All threads, 

这次线程数设为2,循环次数还是8不变

再次运行脚本,看结果:因为循环次数是8,所以一共发送了2*8=16个,最后循环完14条数据,把最后一条数据又循环了2次。这里看标题,就知道jmeter有bug.

接下来,把线程数设为3,循环次数不变

再次运行脚本,结果:并没有按照3*8=24的次数去循环运行,仍然是16个请求,第3个线程只读取了一条数据;从结果看,线程的启动是依次进行的。这个可能是jmeter 的bug.

接下来,把sharing mode设为current thread, 线程数为3不变,循环次数为8不变

再次运行脚本,结果:这里的执行结果是3个线程每个线程都执行了8次,而且都是读取前8条数据,总共24次。并没有读完整个数据文件。

如果想用1个线程读完整个文件的所有数据,可以把sharing mode设为current thread,循环次数设为数据行的行数,如下:

这样去设置配置项,运行脚本的结果是:这样就会依次读取每行数据。

因为,做参数化通常都在一个线程组里使用,所以current thread group基本上用不着,这里就不举例了。

综上:在使用csv data set config做参数化的时候,不能忽略sharing mode【线程共享模式】的设置,配合loop控制器的使用,仔细地配置,以达到想要的结果。


http://www.kler.cn/news/364438.html

相关文章:

  • Node + HTML搭建自己的ChatGPT [基础版]
  • ASP.NET Core 8.0 中使用 Hangfire 调度 API
  • C语言初阶七:C语言操作符详解(1)
  • Python poetry 虚拟环境
  • 高翔【自动驾驶与机器人中的SLAM技术】学习笔记(十二)拓展图优化库g2o(一)框架
  • jQuery快速填充非form数据
  • 重修设计模式-行为型-访问者模式
  • Github + 自定义域名搭建个人静态站点
  • TensorFlow面试整理-TensorFlow 结构与组件
  • Python Web 框架中 Django 框架
  • Scrapy | 通过爬取豆瓣Top250电影信息来学习在中间件中应用随机请求头和代理ip
  • C++:排序算法
  • Spring Cloud --- GateWay和Sentinel集成实现服务限流
  • pycharm中使用ctrl+鼠标滚轮改变字体大小
  • 微积分复习笔记 Calculus Volume 1 - 3.6 The Chain Rule
  • 直觉微调——简化语言模型对齐过程
  • opencv学习笔记(4):图像属性和基本图形绘制
  • 【纯血鸿蒙】HarmonyOS和OpenHarmony 的区别
  • 【LInux】Shell脚本编写基本语法
  • 快速获取 GitHub 个人资料成就徽章
  • LinkedList 源码分析
  • 数据清洗的具体方法有哪些?
  • 数字+文旅:虚拟数字人盘活景区文化旅游资源新策略
  • ajax 读取文件
  • Erric Gamma 关于resuable code的采访
  • Rust小练习,编写井字棋