Jmeter参数化设置
使用jmeter做压力测试的时候,不可避免的要用到参数化,确保不同的线程或迭代使用不同的数据。下面就介绍几种参数化的方法。
.一、配置元件——CSV数据文件设置
1、准备数据此方法需要在jmeter外部先创建一个csv文件,要求utf—8编码格式,后缀名称为csv,我一般使用Notepad++。当然也可以用Ecxel,注意保存的时候该保存为csv格式。
2、csv数据文件设置文件名:填写准备数据文件的绝对路径,或者点击右侧的浏览按钮进行选择文件编码:utf-8变量名称:自定义变量名称,最好有意义,用英文逗号隔开。其他选择默认即可
3、引用变量引用变量格式${变量名}
解释:文件中有5个变量,6组数据,当线程组选择6,循环此时为1时,每个线程组取一个变量。当线程组超过准备的数据后,会循环取值。此方法适用于数据量较多时使用。
二、前置处理器——用户参数
1、准备数据此方法适用于数据量较少的时候,直接在jmeter内部准备数据。
2、引用变量引用变量的格式一样${变量名}
注意:用户定义的变量与用户参数名称十分相似,一般我们把不变的常用变量放在用户定义的变量中。其实从两者在jmeter中的位置也可判断出来。用户定义的变量在“配置元件”中,而用户参数在“前置处理器”中。用户定义的变量只能取一个值。
三、函数助手——常用函数
jmeter有一些函数可直接使用,非常方便。
1、__counter计数函数${__counter(,)},里面有两个值。第一个可不填,默认false,全局变量,从1开始计数,每次加1,可统计出本次测试共运行了多少次。如果填true,代表每个用户都有属于自己的计数器,统计的是每个线程运行了多少次。
2、__Random随机数函数${__Random(1,100,)},代表生成1~100的随机数。
3、__time时间函数KaTeX parse error: Expected group after '_' at position 2: {_̲_time(,)},默认显示精…{_time(yyyy-MM-dd hh:mm:ss,)或${_time(y-M-d hⓂ️s,)}显示当前时间,精确到秒。可根据自己需要调整时间格式和显示的精确度。
四、直连数据库
直连数据库首先要下载一个连接数据库的jar包,不同的数据库对应的jar包也不同。我们用的是mysql,需要下在mysql-connector-java-(版本号).jar放到jmeter/lib/ext目录下。之后打开jmeter进行操作
1.首先在测试计划中将jar包的路径添加进来
2.然后,在配置元件中找到JDBC Connection Configuration进行下列设置。
3.建立线程组,新建JDBC Request,做出如下设置
可以看一下请求效果,我将两个变量随便放在一个接口路径后面,通过请求可以看到,是获取到了数据库中的数据的。
来源:oschina
链接:https://my.oschina.net/u/4352688/blog/4555932