JMeter参数化__CSVRead()的用法
admin
2023-02-20 02:00:07
0

今天,这章节我们主要来学习JMeter参数化__CSVRead().

概念:

Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。

JMeter的作用

1.能够对HTTP和FTP服务器进行压力和性能测试, 也可以对任何数据库进行同样的测试(通过JDBC)。

2.完全的可移植性和100% 纯java。

3.完全 Swing 和轻量组件支持(预编译的JAR使用 javax.swing.*)包。

4.完全多线程 框架允许通过多个线程并发取样和 通过单独的线程组对不同的功能同时取样。

5.精心的GUI设计允许快速操作和更精确的计时。

6.缓存和离线分析/回放测试结果。

配置项:
JMeter参数化__CSVRead()的用法
使用文件别名:

若文件路径较长,可以考虑使用文件别名来简化书写。使用方法为:
首先,在第一次使用参数前定义文件别名;以后,在调用函数获取数据
时都可以使用别名代替文件名,下面是使用别名的例子:
JMeter参数化__CSVRead()的用法

从不同数据文件读取数据:
可以设置不同的线程读取不同的数据文件。
假设有n个线程,准备对应好的n个csv文件: testdata1.csv,
testdata2.csv,... ,testdatan.csv
线程1读取testdata1.csv中的数据,线程2读取testdata2.csv中
的数据,...
使用${threadNum}获取线程编号,再与文件名前后缀拼接形成动态
的文件路径作为CSVRead函数的第一个参数:
${
CSVRead(./testdata${__threadNum}.csv,0)}

举例说明:

这里以前面介绍过的查询被购买的商品总金额接口为例。

参数化步骤:

1、确定接口参数中哪些请求参数需要进行参数化在设计测试用例时,我们针对商品编号,商品规格,商品数量来准备数据,故对id,attr,number参数化

2、将测试数据放在外部一个文档保存,文件类型为csv或txt -->

.csv or .txt

新建一个testdata.csv,一行写一个用例,多个参数值默认用,分隔(注意不要写列标题):

case1,9,226,3

case2,,226,1

case3,9,,1

case4,9,226,

3、调用__CSVRead()函数获取外部数据文件中的数据

Tools-->Function Helper Dialog,打开“Function

Helper”,在“Choose a function”中选择“__CSVRead”。

填入参数值后,点击“Generate & Copy to Clipboard”,生成函数调用语句:

取列值:

id:

${__CSVRead(C:\Users\Foreknew\Desktop\testdata.csv,1

)}

attr:

${__CSVRead(C:\Users\Foreknew\Desktop\testdata.csv,2

)}

number:

${__CSVRead(C:\Users\Foreknew\Desktop\testdata.csv,3

)}

换行:

${__CSVRead(C:\Users\Foreknew\Desktop\testdata.csv,n

ext)}

4、在请求中将写死的数据用第3步中定义的变量进行替换

data --> ${varName}

比如 ${attr}

5、配置参数化

5.1 将线程数设置为用例的个数

5.2 循环控制请求的次数

添加一个循环控制器,设置其循环次数为测试用例个数。

相关内容

热门资讯

石化油服获得实用新型专利授权:... 证券之星消息,根据天眼查APP数据显示石化油服(600871)新获得一项实用新型专利授权,专利名为“...
服务六大场景 机器人公园上岗 玉渊潭公园投用水面割草机器人。(刘平 摄) 天坛公园的智能巡护机器人上岗。(刘平 摄) 盛夏七月,...
力箭一号遥十五运载火箭圆满完成... 红星新闻网7月24日讯2026年7月24日07时33分,我国在东风商业航天创新试验区使用力箭一号遥十...
特朗普:美方正与伊朗谈判,不排... 当地时间7月24日,美国总统特朗普在白宫谈及对伊朗战争的“退出战略”时表示,美国有两种选择:一是继续...
小伙相亲2天后花33万闪婚,一... 极目新闻记者 邓波2025年4月,安徽安庆小伙何攀到贵州贵阳花果园相亲,并与相识两天的贵阳籍女子陆某...
丘成桐:王虹和邓煜都在MIT待... 当地时间7月23日,在美国费城举行的2026年国际数学家大会开幕式上,中国数学家邓煜、王虹获得菲尔兹...
欧盟对俄制裁列单中企,中国驻欧... 问:2026年7月23日,欧盟通过第21轮对俄罗斯制裁方案,新增列单制裁中国企业。中方对此有何评论?...
特朗普预警9月政府“停摆”,美... 一国总统公开预警自家联邦政府即将“停摆”,这种魔幻剧情又双叒叕要在华盛顿上演?当地时间7月22日,特...
视频丨2026年APEC数字和... 昨天(23日),2026年亚太经合组织数字和人工智能部长会议在四川成都举行。本届会议的主题为“数字和...
海南商发二期发射区土建完工,建... 7 月 24 日消息,海南商发今日宣布,海南商业航天发射场二期发射区建设项目土建工作完成,全面转入设...