jmeter参数化之 __CSVRead()参数化

参数化步骤


1.确定接口参数中哪些请求参数需要进行参数化


        在设计测试用例时,我们针对商品编号,商品规格,商品数量来准备数据,故对id,attr,number参数化

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


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

__CSVRead()函数,不能去首行,所以不要写列表题,那么没有标题,就要靠序号去分别,所以,列的编写规则是:从0开始,每次递增1,也就是说0表示第一列,1表示第二列

case1,9,226,3
case2,,226,1
case3,9,,1
case4,9,226,

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


        选项-函数助手对话框,打开"函数助手",选择"__CSVRead"

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

        
data_--> ${varName}

        比如 S{attr}

5.配置参数化


 _CSVRead函数参数配置项

         5.1 将线程数设置为用例的个数(如果采用多线程的方式,就不要进行换行,也可以读取得到每一行数据)

        5.2 如果有多组数据,但是线程数只设置为一个,就要设置换行,因为__CSVRead()函数不是jmeter内部的元素,所以循环控制器对其没有作用,如果想要循环读取到每一行而不是只读取第一行,那么这个时候就要换行,如果想要实现换行,那么就要在数据读取到最后一列之后在进行,换行的函数语句是:将生成的函数中的第二个参数(列号)改为next,然后在与读取到的最后一列的函数进行拼接

        比如:haha.txt文件共有4列,那么最后一列的列号就是3,然后在读取到第四列的时候进行换行,所以最后在请求的时候的参数应该像如下这样填写:

 别名的使用

1.定义别名:

        __CSVRead()函数中第一参数为文件的路径,第二个参数为别名的名字,要以*开头

${__CSVRead(/Users/zhangshanshan/Desktop/haha.txt,*heihie)}

 2.别名的使用

${__CSVRead(/Users/zhangshanshan/Desktop/haha.txt,*heihie)}

        *heihie 就可以替代/Users/zhangshanshan/Desktop/haha.txt路径

        在使用别名的时候要注意,我们要把定义别名的函数语句写在第一次使用别名之前,否则会报错

 对参数文件路径进行参数化

        模拟三个用户,每个用户查看两次

u1        ------->        haha1.csv        2组数据

u2        ------->        haha2.csv        2组数据

u3        ------->        haha3.csv        2组数据

/Users/zhangshanshan/Desktop/haha1.txt

线程组下线程的编号规则:按照线程启动的先后顺序进行编号,从1开始,每次递增

线程编号不能跨线程组

${__threadNum} :获取线程组下线程的编号

参数文件的路径:线程编号和文件名组合起来.  haha${__threadNum}.csv        

${__CSVRead( haha${__threadNum}.csv  ,0)}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值