参数化是自动化测试脚本的一种常用技巧。简单来说,参数化的一般用法就是将脚本中的某些输入使用参数来代替,在脚本运行时指定参数的取值范围和规则;
这样,脚本在运行时就可以根据需要选取不同的参数值作为输入。这种方式通常被称为数据驱动测试(Data Driven Test),参数的取值范围被称为数据池(Data Pool)。
jmeter的测试计划中,支持如下4种参数化方式:
-
函数助手:_CSVRead
-
CSV Data Set Config:CSV数据控件
-
User Defined Variables:用户定义的变量
-
User Variables:用户参数
示例:
http请求界面如下:
我们现在需要对theCityCode和theUserID这两个参数进行参数化,将这两个参数的数据写入到txt文档中,保存文件类型为UTF-8,文件路径为:D: est.txt
注意:参数之间的分隔符为英文逗号(,)
下面具体介绍参数化的4种方法:
一、函数助手:_CSVRead
点击jmeter的界面,功能菜单栏中 选项→ 函数助手对话框→ _CSVRead
-
CSV file to get values from | *alias:CSV文件取值路径,即这里需要写入之前的需要参数化的参数的文件路径
-
CSV文件列号| next|*alias:文件起始列号:CSV文件列号是从0开始的,第一列为0,第二列为1,以此类推。。。
-
函数字符串:即生成的参数化后的参数,可以直接在登陆请求中的参数中引用,第一列函数字段号为0,第二列函数字段号为1,以此类推进行修改使用即可
在http请求中,把字段进行参数化
修改线程数,这里有5条数据,就把线程数改为5
执行脚本,通过监听器里结果树的请求内容,可以看到请求的参数都是参数化后的数据
二、配置元件——CSV Data Set Config
在线程组中添加配置原件 —> CSV数据文件设置
在http请求中进行参数化
执行脚本,通过监听器里结果树的请求内容,可以看到请求的参数都是参数化后的数据
三、配置元件 ——用户定义的变量
在线程组添加配置原件 —> 用户定义的变量
用这种方法添加的变量值只能是一个
四、前置处理器 —— 用户参数
在线程组中添加前置处理器 —> 用户参数
以上就是jmeter参数化的四种方式,其中:
1、函数助手_CSVRead的参数化功能相比CSV Data Set Config较弱;
2、CSV Data Set Config适用于参数取值范围较大的时候使用,该方法具有更大的灵活性;
3、用户定义的变量一般用于test plan中不需要随请求迭代的参数设置;
4、用户参数适用于参数取值范围很小的时候使用;