一天一个关于测试知识点,5分钟内讲解你最关心的软件测试问题,今天就接着来谈谈关于软件测试中的“JMeter参数化之__CSVRead()”。
一、__CSVRead()
▲ 配置项
二、应用案例
这里以前面介绍过的查询被购买的商品总金额接口为例。
▲ 参数化步骤
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,next)}
4.在请求中将写死的数据用第3步中定义的变量进行替换
data --> ${varName}
比如 ${attr}
5.配置参数化
5.1 将线程数设置为用例的个数
5.2 循环控制请求的次数
添加一个循环控制器,设置其循环次数为测试用例个数
三、使用文件别名
若文件路径较长,可以考虑使用文件别名来简化书写。使用方法为:
首先,在第一次使用参数前定义文件别名;以后,在调用函数获取数据时都可以使用别名代替文件名,下面是使用别名的例子: