JMeter教程|0到1学会接口性能压测第4课-CSV Data Set Config参数化
JMeter是一款开源免费的接口性能压测工具在企业中用的较为广泛上节我们学习了JMeter的GET与POST请求。今天分享JMeter参数化CSV Data Set Config后续文章都会系统分享干货带大家从0到1学会JMeter另外还有教程等同步资料文末加小编VX领取即可。参数化的定义所谓参数化就是将客户端发送给服务器处理的数据预先保存到一个参数中的过程。一般来说对于功能测试当用不同的数据测试相同的功能时我们可以使用参数化来精简测试;对于性能测试为了真实模拟多个用户的操作行为或应对系统对多个用户同时操作的特殊限制(比如数 据唯一性要求)需要使用参数化来解决这些问题。JMeter提供了非常多的参数化的方式和手段常见有1、配置元件 CSV_Data_Set_Config2、内置参数化函数比如_CSVRead()01CSV_Data_Set_Config1. Filename要读取的数据文件的路径或名称可以使用绝对路径或相对路径。当使用相对路径表示文件路径时测试计划所在目录为当前目录。当JMeter以分布式模式运行时参数化的数据文件需要复制到每台Slave中 并且要设置相同的目录结构。2. File Encoding若没有设置则以操作系统的字符编码去读取数据文件可以指定以何种编码去读取数据文件以防止出现乱码。比如操作系统默认字符编码为GBK而数据文件(CSV文件)的编码为UTF-8则读出来的数据肯定为乱码在此情况下要设置File Encoding为“UTF-8”才能读取成功。3.Variable Names(comma-delimited)用于保存数据文件列值的变量名列表变量名之间用,(逗号)分隔。若变量名列表为空JMeter则将数据文件的第一行各字段值作为各个变量名(不论是否忽略第一行)。比如数据文件中有如下两行值张三,男,25李四,女,20在没有设置变量名列表的情况下会将第一行的三个值当做变量名张三,男,25${张三}${男}${20}的值分别是李四女204. Ignore first line (only used if Variable Names is not empty)是否忽略数据文件的第一行。这个选项只有在设置了参数名列表时才起作用。选择True表示忽略第一行选择False表示不忽略第一行。一般用在数据文件中有列标题时因为标题不是值故考虑可以忽略第一行。比如数据文件中有如下值name,sex,age张三,男,25李四,女,20若此项设置为False则会将namesexage当做变量的值读取 设置为True会忽略此行从第二行开始读取。5. Delimiter (use\tfor tab)数据文件中字段的分隔符。根据分隔符将记录拆分保存到定义的变量中。默认值为,(逗号)分隔。6. Allow quoted data?数据文件中的值是否允许使用双引号。True表示允许False表示不允许。一般用于当值中包含分隔符时可考虑将值用双引号括起来屏蔽分隔符的特殊含义。比如记录了商品编号名称价格的数据文件goods_id,goods_name,price 1,Watch_wanguo,1,500,000若没有使用双引号商品价格为1使用了双引号商品价格为1,500,0007. Recycle on EOF?读取到达数据文件结束(EOF即end of file)处是否回到文件开始出重新读取。True循环读取False不循环读取。8. Stop thread on EOF?读取到达数据文件结束处是否停止线程。True停止线程测试不再进行;False不停止线程继续循环取值运行测试。9.Sharing mode共享模式。All threads所有线程Current thread group当前线程组Current thread当前线程。1) All threads所有线程共享同一个文件。在测试中数据文件只打开一次每个线程读取不同行的参数值。每个线程读取的值与线程启动的先后顺序相关;不论线程引用参数与否每个线程都会分配一个参数值。2) Current thread group当前线程组。对于包含该参数的每个线程组每个参数文件都仅打开一次; 不包含参数的线程组不会打开参数化文件自然也就不会分配参数值。3) Current thread当前线程。每个线程都单独打开一个参数文件。在此模式下若每个线程需要从不同的值集中取值可以设置一组参数化数据文件每个线程对应一个文件。将线程编号与数据文件名关联起来将可以了。比如一组文件为testdata1.csvtestdata2.csv... testdatan.csv 线程编号可以通过内置函数${ threadNum}来获取则数据文件名可设置为testdata${ threadNum}.csv。02_CSVRead()函数配置项使用文件别名若文件路径较长可以考虑使用文件别名来简化书写。使用方法为首先在第一次使用参数前定义文件别名;以后在调用函数获取数据时都可以使用别名代替文件名下面是使用别名的例子从不同数据文件读取数据可以设置不同的线程读取不同的数据文件。 假设有n个线程准备对应好的n个csv文件testdata1.csvtestdata2.csv... testdatan.csv 线程1读取testdata1.csv中的数据线程2读取testdata2.csv中的数据... 使用${ threadNum}获取线程编号再与文件名前后缀拼接形成动态的文件路径作为CSVRead函数的第一个参数 ${ CSVRead(./testdata${ threadNum}.csv,0)}下期分享JMeter响应断言的知识敬请关注

相关新闻

《群星闪耀时》完整版全维度破绽与世界观失衡深度拆解报告

《群星闪耀时》完整版全维度破绽与世界观失衡深度拆解报告

前置客观口碑背景:本片上映后呈现国产科幻罕见的极端两极口碑断层:购票平台大众评分高达9.6–9.7,豆瓣稳定7.5左右、差评集中且尖锐。普通观众被1970年代线的家国情怀、集体主义浪漫、年代考据质感深度打动;但硬核科幻受众、世界观…

2026/10/7 8:30:50 阅读更多 →
原来环保集成墙板有这么多品牌,到底该怎么选?

原来环保集成墙板有这么多品牌,到底该怎么选?

在装修中,环保集成墙板因安装便捷、环保等优势,成为很多人的选择。但市场上品牌众多,该如何挑选呢?下面为大家介绍一些挑选要点,并推荐几个集成墙板十大品牌中的优质品牌。环保性能是关键环保是集成墙板的重要指标。像…

2026/9/29 8:29:04 阅读更多 →
OpenAI GPT-5.6 Luna降价80%:模型开始自己优化自己,Token成本结构被改写

OpenAI GPT-5.6 Luna降价80%:模型开始自己优化自己,Token成本结构被改写

核心数据: Luna输入价:$1.0 → $0.2 / 百万Token(降80%)Luna输出价:$6.0 → $1.2 / 百万Token(降80%)Terra:输入$2.5→$2.0、输出$15→$12(降20%)Sol&#xf…

2026/10/2 20:09:31 阅读更多 →

最新新闻

智能体自主迭代实战:反馈机制、多智能体与工程落地指南

智能体自主迭代实战:反馈机制、多智能体与工程落地指南

2024年下半年开始,AI领域讨论最多的已经不只是“哪个模型更强”,而是“智能体到底能不能自己变强”。朋友圈和社区里,智能体、自主迭代这两个词几乎绑定出现:有人拿Coze搭客服机器人,有人用Dify做企业内部知识库问答&a…

2026/10/7 16:26:51 阅读更多 →
oneTBB 读写锁升级与降级:upgrade_to_writer / downgrade_to_reader 实战指南

oneTBB 读写锁升级与降级:upgrade_to_writer / downgrade_to_reader 实战指南

并发编程高性能计算 【免费下载链接】oneTBB oneAPI Threading Building Blocks (oneTBB) 项目地址: https://gitcode.com/gh_mirrors/on/oneTBB 点击查看 免费下载 本文基于 oneAPI Threading Building Blocks(oneTBB)用户指南中的 Upgrade…

2026/10/7 16:26:51 阅读更多 →
C语言 <time.h> 头文件详解

C语言 <time.h> 头文件详解

C语言 time.h 头文件详解一、头文件详解1. 引言2. 核心类型2.1 time_t2.2 struct tm2.3 clock_t3. 常用函数3.1 time() — 获取当前时间3.2 localtime() 与 gmtime() — 时间转换3.3 strftime() — 格式化时间输出3.4 mktime() — 将 struct tm 转回 time_t3.5 difftime() — 计…

2026/10/7 16:26:51 阅读更多 →
用Claude Code打造AI营销技能包:SEO、CRO与Analytics自动化实践

用Claude Code打造AI营销技能包:SEO、CRO与Analytics自动化实践

1. 从"marketingskills"这个标题说起:它到底想解决什么问题第一次看到"marketingskills"这个标题,我脑子里冒出来的第一个念头是:这大概率不是一个单纯的营销理论合集,而是一套把营销动作拆成可执行技能模块的…

2026/10/7 16:26:51 阅读更多 →
Context-Mode实战:用结构化上下文解决AI内容生成跑偏问题

Context-Mode实战:用结构化上下文解决AI内容生成跑偏问题

如果你正被各种“满屏弹窗”似的提示折腾得够呛,那么“context-mode”这个概念值得好好掰扯掰扯。它不是某个新出的社交APP,也不是什么玄乎的流量密码,而是我在实际项目里反复打磨出来的一套内容生成与对话组织模式。说得直白一点&#xff0c…

2026/10/7 16:26:51 阅读更多 →
软考网规第三版-综合知识历年真题考点分布

软考网规第三版-综合知识历年真题考点分布

软考网规第三版综合知识历年真题考点分布 第一章计算机网络基础 软考网规:第一章计算机网络基础历年真题分布(已更新)-CSDN博客 1.1 计算机网络概念 1.2 计算机网络体系结构 考试题型:选择题 分值:1-2分 考试重点:掌握OSI和TCP/IP模型、每个层次功能、协议层次 1.…

2026/10/7 16:25:49 阅读更多 →

日新闻

ROS2机械臂仿真与运动控制:从URDF建模到Gazebo实战全解析

ROS2机械臂仿真与运动控制:从URDF建模到Gazebo实战全解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:01:58 阅读更多 →
用浏览器直接改ESP32的WiFi密码:NVS键值配置工具设计与实现

用浏览器直接改ESP32的WiFi密码:NVS键值配置工具设计与实现

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:02:00 阅读更多 →
芯片封装缺陷检测:扫描声学显微镜(SAT)原理与实操指南

芯片封装缺陷检测:扫描声学显微镜(SAT)原理与实操指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:02:00 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 14:34:12 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 14:34:13 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 9:29:10 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 14:34:12 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 11:43:46 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 13:34:55 阅读更多 →