Jmeter系列(32)- 详解 CSV 数据文件设置
如果你想从头学习Jmeter,可以看看这个系列的文章哦
https://www.cnblogs.com/poloyy/category/1746599.html
了解一哈什么是 CSV 文件
- 为了实现简单的数据存储,是一个纯文本的文件
- 最通用的一种文件格式,它可以非常容易地被导入各种PC表格及数据库中
- CSV 文件可以用记事本、excel打开;用记事本打开的话,每一列数据都用逗号隔开
为什么要用 CSV 数据文件?
- 从外部导入测试数据,相当于数据参数化
- 通过从文件中导入大量的测试数据,来模拟大量真实用户发送并发请求
CSV 数据文件设置

CSV 数据文件设置界面介绍

字段含义
| 字段 | 含义 |
| Filename | 文件名 |
| File encoding | 文件编码 |
| Variable Names |
|
| Ignore first line |
|
| Delimiter |
|
| Allow quoted data? | 是否允许带引号 |
| Recycle on EOF? | 遇到文件结束符EOF 后再次循环 |
| Stop thread on EOF? | 遇到文件结束符EOF 后停止运行线程? |
| Sharing mode | 线程共享模式 |
后续通过各种栗子来深入理解常用字段的含义
单个字段的栗子
csv 测试数据

这里用记事本方式当 CSV 数据文件,共有 10 条记录
线程组结构树

${num} 是计数器里面声明的变量,从 1 开始递增到 15
线程组属性

线程数和数据量一致,都是 15
csv 数据文件设置

运行结果

知识点
- 忽略首行 True:一般首行都是字段名字,比如栗子的 mobile,一般都需要忽略除非没有字段名
- 是否允许带引号 False:可以看到有引号的三条记录 8、9、10,都还是保留了引号
- 再次循环 True:csv 文件共有 10 条记录,但线程数有 15 个,循环 10 次后,重头开始循环;可以看到 11-15的手机号和1-5的手机号
- 停止线程 False:取了 10 次值之后就到了文件尾部,但并不会停止运行线程,后面会举个反例
多个字段的综合栗子
csv 测试数据

两个字段,共有 10 条记录,最后三条记录有分别有三种引号
csv 数据文件设置
线程组结构树和上面栗子差不多一样,线程数仍然 = 15

和第一个例子的配置项相反:不忽略首行,允许带引号,遇到文件结束符不再循环
运行结果

- 不忽略首行就会把首行的字段名都返回回来,如:1-mobile-age
- 数据有双引号 "" 时,会把双引号忽略掉, '' 单引号不算
- EOF 是文件结束符,没有开启再次循环时,会直接返回 EOF
开启遇到文件结束符停止线程
还是上个栗子的线程组,只是改了下配置项

运行结果

可以看到,线程数 = 15,但只有 10 条数据,当跑了 10 个线程后,没有数据了,所以停止运行
Jmeter系列(32)- 详解 CSV 数据文件设置的更多相关文章
- Jmeter CSV数据文件设置使用之一
第一步: 在Jmeter 里,新建CSV数据文件设置,选择对应的文件,变量名称根据需要自己取,如bug,test,如下图所示: 第二步: 配置Jmetet 数据源,参数对应的名称要与CSV数据文件设置 ...
- jmeter压测学习7-登录参数化(CSV 数据文件设置)
前言 我们在压测登录接口的时候,如果只用一个账号去设置并发压测,这样的结果很显然是不合理的,一个用户并发无法模拟真实的情况. 如果要压测登录接口,肯定得准备几百,甚至上千的账号去登录,测试的结果才具有 ...
- jemeter压测, 高级应用: 发1万个请求,每个请求参数都不同, 使用CSV数据文件配置
今天接到一个压测任务, 数据源需要自己从测试环境库中取, 并且使用jemeter 请求, 每个请求参数都不相同 这里使用jemeter的 CSV数据文件来配置: 这样配置好后, 开始发送请求: csv ...
- 反爬虫:利用ASP.NET MVC的Filter和缓存(入坑出坑) C#中缓存的使用 C#操作redis WPF 控件库——可拖动选项卡的TabControl 【Bootstrap系列】详解Bootstrap-table AutoFac event 和delegate的分别 常见的异步方式async 和 await C# Task用法 c#源码的执行过程
反爬虫:利用ASP.NET MVC的Filter和缓存(入坑出坑) 背景介绍: 为了平衡社区成员的贡献和索取,一起帮引入了帮帮币.当用户积分(帮帮点)达到一定数额之后,就会“掉落”一定数量的“帮帮 ...
- Jmeter常用功能详解
嘻嘻,忙碌的一周,马上就到周四了~明天就是周五了,可以去嗨了! 这几天正式成立了一个微信订阅号,旨在免费帮助需要入门软件测试的小白! 各位走过路过的亲,欢迎订阅哦:扫描二维码即可订阅
- PHP输出缓存ob系列函数详解
PHP输出缓存ob系列函数详解 ob,输出缓冲区,是output buffering的简称,而不是output cache.ob用对了,是能对速度有一定的帮助,但是盲目的加上ob函数,只会增加CPU额 ...
- jmeter 基础功能详解
jmeter 基础功能详解 thread group:包含一组线程,每个线程独立地执行测试计划. sampler:采样器,有多种不同的sample实现,用来发起各种请求,如http请求,jdbc请求, ...
- Spring配置文件详解 – applicationContext.xml文件路径
Spring配置文件详解 – applicationContext.xml文件路径 Java编程 spring的配置文件applicationContext.xml的默 ...
- 十图详解tensorflow数据读取机制(附代码)转知乎
十图详解tensorflow数据读取机制(附代码) - 何之源的文章 - 知乎 https://zhuanlan.zhihu.com/p/27238630
随机推荐
- 50个SQL语句(MySQL版) 问题五
--------------------------表结构-------------------------- student(StuId,StuName,StuAge,StuSex) 学生表 tea ...
- win服务器管理软件巧利用——如何让服务器管理事半功倍
那些服务器管理大牛估计看到这个标题会笑了,服务器怎么管理,靠自带的远程桌面肯定是远远不够的,要实现上千台服务器同时登陆,没有一个好程序管理,估计得三餐不食为其颠倒. 那么,有什么好的服务器推荐呢?站长 ...
- Web-从Java Request对象到HTTP协议
https://mp.weixin.qq.com/s/PjcA22STEDGwRxVQweObQQ Java Web中的Request对象是哪里来的?Response对象的角色是什么? Java We ...
- jchdl - GSL实例 - Shifter
https://mp.weixin.qq.com/s/ngQji-xi4FCCbL_2ihUi_A Shifter是移位节点的父类,定义了输入输出线,但是没有定义具体的移位方式,这个留给子类去实现 ...
- js基本语法和数据类型
三种引入方式: 使用JavaScript:前缀构建执行JavaScript代码 使用<script></script>标签来包含JavaScript代码 <body> ...
- Linux(十) —— 使用 rz 和 sz 命令上传与下载
以CentOS 7 系统为例,一般上传下载都是使用的第三方工具,但是在操作上并不方便,每次都要找到对应的目录才可以执行上传.下载操作,比较麻烦. 而CentOS为例的 Linux 系统可以通过安装 插 ...
- Java实现 LeetCode 76 最小覆盖子串
76. 最小覆盖子串 给你一个字符串 S.一个字符串 T,请在字符串 S 里面找出:包含 T 所有字母的最小子串. 示例: 输入: S = "ADOBECODEBANC", T = ...
- Java实现第八届蓝桥杯购物单
购物单 题目描述 小明刚刚找到工作,老板人很好,只是老板夫人很爱购物.老板忙的时候经常让小明帮忙到商场代为购物.小明很厌烦,但又不好推辞. 这不,XX大促销又来了!老板夫人开出了长长的购物单,都是有打 ...
- ntpq无法查询同步信息,显示The specified class was not found
年初时工班发现工作站和服务器都没办法用ntpq看时钟同步了,如下图所示.输入ntpq-p 就显示"The specified class was not found" 通过排查,发 ...
- java关键字tranisent用法详解
作为java中的一个关键字,tranisent用的并不是很多,但是在某些关键场合,却又起着极为重要的作用,因此有必要对它进行一些必要的了解. 一.定义:声明不用序列化的成员域.(源自百度百科) 二.作 ...