JMeter参数化__CSVRead()的用法

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

概念:

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

JMeter的作用

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

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

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

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

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

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

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

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

举例说明:

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

参数化步骤:

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

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

。csv或 . txt

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

case1, 9226年,3

病例2,226,

case3, 9日,1

case4, 9226,

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

工具——在函数助手对话框,打开”功能

助手”,在“选择一个功能”中选择“__CSVRead”。

填入参数值后,点击”生成,复制到剪贴板”,生成函数调用语句:

取列值:

id:

$ {__CSVRead (C: \ \预知用户桌面\ \ csv, 1

)}

attr:

$ {__CSVRead (C: \ \预知用户桌面\ \ csv, 2

)}

数量:

$ {__CSVRead (C: \ \预知用户桌面\ \ csv, 3

)}

换行:

$ {__CSVRead (C: \ \预知用户桌面\ \ csv, n

ext)}

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

数据——比;$ {varName}

比如$ {attr}

5,配置参数化

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

5.2循环控制请求的次数

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

JMeter参数化__CSVRead()的用法