JMeter参数化之__CSVRead()
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JMeter参数化之__CSVRead()相关的知识,希望对你有一定的参考价值。
参考技术A ▲ 配置项这里以前面介绍过的查询被购买的商品总金额接口为例。
▲ 参数化步骤
1.确定接口参数中哪些请求参数需要进行参数化
在设计测试用例时,我们针对商品编号,商品规格,商品数量来准备数据,故对id,attr,number参数化
2.将测试数据放在外部一个文档保存,文件类型为csv或txt --> *.csv or *.txt
新建一个testdata.csv,一行写一个用例,多个参数值默认用,分隔(注意不要写列标题):
3.调用__CSVRead()函数获取外部数据文件中的数据
填入参数值后,点击“Generate & Copy to Clipboard”, 生成函数调用语句:取列值:
换行:
4.在请求中将写死的数据用第3步中定义的变量进行替换
5.配置参数化
5.1 将线程数设置为用例的个数
5.2 循环控制请求的次数
添加一个循环控制器,设置其循环次数为测试用例个数
若文件路径较长,可以考虑使用文件别名来简化书写。使用方法为:
首先,在第一次使用参数前定义文件别名;以后,在调用函数获取数据时都可以使用别名代替文件名,下面是使用别名的例子:
十九.jmeter函数---csvRead( )
Jmeter函数是一些能够转化在测试树种取样器或者其他配置元件的特殊值,一个函数的调用就像这样:${_functionName(var1,var2,var3)}, _functionName匹配函数名,圆括号内设置函数的参数,例如 ${_time(YMD)}实现参数因函数而不同,不需要参数的函数使圆括号内为空,例如 ${_theadNum()}.
jmeter函数有两种函数:自定义静态值(用户变量)和内置函数
自定义静态值允许当一个测试树编译提交运行时,自定义变量被它们的静态值代替,这个替代在测试运行开始时发生一次(前置处理器----用户参数)
内置函数允许写任何非控制器测试组件的任何值,这包括取样器,定时器、监听器、断言等(选项---函数助手对话框----_Random)
注意:如果使用和内置函数同样的名字定义一个自定义变量,你的自定义静态变量会覆盖内置函数,但不建议名字相同
1.___csrRead函数
___csrRead函数是从外部读取参数,___csrRead函数可以从一个文件中读取多个函数
(1)新建一个文件,例如csvRead.txt,里面的数据存放如下:
jmeter函数有两种函数:自定义静态值(用户变量)和内置函数
自定义静态值允许当一个测试树编译提交运行时,自定义变量被它们的静态值代替,这个替代在测试运行开始时发生一次(前置处理器----用户参数)
内置函数允许写任何非控制器测试组件的任何值,这包括取样器,定时器、监听器、断言等(选项---函数助手对话框----_Random)
注意:如果使用和内置函数同样的名字定义一个自定义变量,你的自定义静态变量会覆盖内置函数,但不建议名字相同
1.___csrRead函数
___csrRead函数是从外部读取参数,___csrRead函数可以从一个文件中读取多个函数
(1)新建一个文件,例如csvRead.txt,里面的数据存放如下:
(2)在jmeter中的选项中选择【函数助手对话框】
说明:
CSV file to get values from | *alias:要读取的文件路径,为绝对路径
CSV文件列号| next| *alias:从第几列开始读取,注意第一列是0
(3)设置好像个参数,将生成的函数复制到相应的请求参数之中
以上是关于JMeter参数化之__CSVRead()的主要内容,如果未能解决你的问题,请参考以下文章
Jmeter请求元件之参数化函数助手_CSVRead和RandomString(十三)