JMeter实现参数化的四种方法

用户自定义变量、用户参数、CSV数据文件设置、函数助手

  JMeter参数化在脚本中为了模拟真实的场景经常需要用到不同的用户登录、输入不同的数据等等,

参数化就是设定一个类似于列表的变量,把许多的同一关系的数值存到同一变量内,通过设置不同的方

法来取值,以此来达到模拟真实用户的目的

一、用户自定义变量

适用于不需要进行迭代变换的数据的参数

1)添加-->配置元件-->用户自定义变量

jmeter用java获取的参数做参数化 jmeter怎么做参数化_自定义

2) 在用户自定义的变量中添加变量名称、变量值、描述

jmeter用java获取的参数做参数化 jmeter怎么做参数化_自定义_02

3)添加完成变量后,在对应的http请求中使用该参数,格式为 ${变量名} ,注意:变量名用户自定义参数变量名保持一致

jmeter用java获取的参数做参数化 jmeter怎么做参数化_自定义_03

 二、用户参数

适用于数据量少,每次迭代时需要不同的数据

1)添加-->前置处理器-->用户参数

jmeter用java获取的参数做参数化 jmeter怎么做参数化_自定义_04

2)用户参数中,添加变量名称和变量值;一个变量可以设置多个用户;如果需要每次迭代都传入不同的变量值,可以勾上“每次迭代更新一次”

jmeter用java获取的参数做参数化 jmeter怎么做参数化_自定义_05

3)变量添加完成后,在对应的http请求中使用该参数,格式为${变量名}

jmeter用java获取的参数做参数化 jmeter怎么做参数化_变量名_06

三、csv数据文件设置

这种参数化方式取值范围大,灵活性强,适用于大量测试数据时的使用。

1)添加-->配置元件-->csv数据文件设置

jmeter用java获取的参数做参数化 jmeter怎么做参数化_数据_07

2)将参数写在文件中,不同的参数之间使用英文逗号隔开,一行或者一列为一组值

注意:csv配置文件,最好用txt文件格式,csv格式文件还带有格式,不太好编辑

jmeter用java获取的参数做参数化 jmeter怎么做参数化_自定义_08

3)在csv数据文件设置,选择文件名和文件编码,输入变量名称

jmeter用java获取的参数做参数化 jmeter怎么做参数化_数据_09

小技巧:在apache-jmeter-5.5文件夹下新建work文件夹把脚本和case1.txt文件放在一个目录下,只填相对路径 case1.txt即可,服务器上填绝对路径找不到文件。

注意:放在一个目录下报错找不到文件时,需要重新启动JMeter,因为脚本文件已经加载过了。

4)添加完成变量后,在对应的http请求中使用该参数,格式为${变量名}

jmeter用java获取的参数做参数化 jmeter怎么做参数化_变量名_10

5)线程组-->线程数或者循环次数和csv数据配置文件中数据条数相对应,不设置的话只会执行一条数据

四、函数助手

1、使用函数助手生成参数username、password

jmeter用java获取的参数做参数化 jmeter怎么做参数化_自定义_11

1)password:函数助手-->选择Random-->输入最大、最小值-->生成-->复制函数

jmeter用java获取的参数做参数化 jmeter怎么做参数化_变量名_12

2)username:函数助手-->选择UUID-->生成-->复制函数

jmeter用java获取的参数做参数化 jmeter怎么做参数化_数据_13

2、把生成的函数,粘贴到请求体中

jmeter用java获取的参数做参数化 jmeter怎么做参数化_自定义_14

3、根据实际执行次数,线程组-->设置线程数或者循环次数,不设置的话只会执行一条数据

jmeter用java获取的参数做参数化 jmeter怎么做参数化_变量名_15

高阶:参数化与TPS有关系的,生成千万(1000X10000)级别TPS可以用函数助手拼接方式 ${__time(,)}${__Random(1000,9999,)}   如果担心random函数重复,可以用count函数。 

String unique = "${__time(,)}" + "${__Random(1000,9999,)}";
vars.put("unique",unique);       设置JMeter变量
log.info("unique:" + unique);

jmeter用java获取的参数做参数化 jmeter怎么做参数化_自定义_16

jmeter用java获取的参数做参数化 jmeter怎么做参数化_数据_17

jmeter用java获取的参数做参数化 jmeter怎么做参数化_自定义_18

五、脚本错误排查

1、点击运行后,脚本闪了一下并未运行,如何排查错误?

jmeter用java获取的参数做参数化 jmeter怎么做参数化_变量名_19

 点击右上角三角感叹号,查看报错。