在接口压力测试中,有时需要模拟多用户同时并发,这时如果选择数据参数化,会给我们的工作带来很多方便,下面讲下Jmeter参数化的几种方法。
一、 用户自定义参数
1.右键单击线程组,选择添加-前置处理器-用户参数,如下图所示,创建一个用户参数的前置处理器
(1-1)
创建成功后的结果如下图所示:
当然用户参数页面是没有参数的,点击【添加变量】可以添加你想要的变量,例如:添加变量名:“userID”, 继续点击添加变量依次添加HTTP请求中需要用到的所有变量。
点击【添加用户】可以添加变量值,例如添加用户_1的值为:“12345”,继续点击添加用户可以添加用户_2、用户_3、……用户_N
2.找到HTTP请求中需要参数化的地方,将请求的值改成${userID},如下图所示:
参数化后,随HTTP发送的参数数值从用户参数里面取值。
二、 随机函数参数法
点击jmeter界面菜单栏里的选项-函数助手对话框,如下图所示:
点击生成一个函数助手对话框,如下图所示:
在“一个范围内的最小值”输入框中输入你想设置的参数的起始范围,在“一个范围内允许的最大值”输入框里输入你想设置的参数的终止范围,在“Name of variable in which to store the result (optional)”输入框中输入变量名,例如:变量名称为userMobile,变量的取值范围为“15222230000-15222231000”,输入框的输入内容如下所示:
点击上图右下方的【生成】按钮,生成内容如下图所示:
将生成的内容拷贝到用户参数变量名userMobile对应的用户值输入框中,如下所示:
这样参数userMobile随HTTP请求发送的时候在“15222230000-15222231000”之间随机取值。
三、 使用_CSVRead函数参数化变量
点击jmeter界面菜单栏里的选项-函数助手对话框,在弹出的会话框里点击“选择一个功能”下拉框,选择下拉框里的_CSVRead函数,如下图所示:
在“CSV file to get values from | *alias”输入框中输入系统中记录参数的文档的存储路径,例如:我的参数存储在D盘test.txt文档中,此处写成:D:\test.txt, 在“CSV文件列号| next| *alias”输入框中输入数字0,数字0代表从参数文档的第一列开始读取,如果从其他列开始读,可以更换为其他数字,点击会话框右下角的【生成】按钮,生成如下数值:
将生成的内容拷贝到用户参数变量名dests(dests为你想要参数化的变量)对应的用户值输入框中,如下所示:
这样参数dests随HTTP请求发送的时候从D盘里的test.txt文件里取值。
备注:多个参数同时取值时,如(username,password),参数文档中用逗号隔开,每一个参数取参数化文件中对应的列。
四、 使用配置元件中的CSV Data Set Config进行参数化配置
右键单击线程组-添加-配置元件-CSV Data Set Config,如下图所示:
点击CSV Data Set Config生成如下会话框,会话框里各字段内容如下图所标示:
这样参数随HTTP请求发送的时候从D盘里的test.txt文件里取值。
以上是我在学习jmeter过程中的总结,希望对你有帮助,谢谢!