jmeter参数化:
一、直接利用工具用户参数化
1、右击线程组【登录接口验证】-->【添加】-->【前置处理器】-->【用户参数】
2、设置参数:下面的用户和密码做了模糊处理,勾选每次迭代更新一次
3、返回到接口请求处,值列替换成${参数},参数名要和上图中参数列表中名称一致
4、设置好现成数,运行即可,在结果树种查看参数的值
二、cvs参数
1、右击线程组【登录接口验证】-->【添加】-->【配置元件】-->【CSV Data set confing】
2、设置CSV的杯子信息
3、修改http请求的参数设置:
4、这里CSV有标题且设置了3组参数,所以设置了3个线程组,运行看结果,主要是看看是否正确启用参数:
三、数据库参数设置
这里以mysql为例子
1、下载mysql驱动包,下载地址https://dev.mysql.com/downloads/connector/j/
2、下载成功后解压,找到mysql-connector-java-8.0.23.jar包放在jmeter的bin目录下
3、导入mysql驱动包
【测试计划】-->【右侧界面下方点击浏览】-->选择刚刚的jar包
4、添加JDBC Connection Configuration
线程组【登录接口验证】(自定义名称)-->【右击】—>【添加】-->【配置元件】-->【JDBC Connection Configuration】
5、配置JDBC Connection Configuration
Variable Name for created pool:创建连接池的变量名称,这里可以自定义(随便写),但是这个名称需要用到的JDBC request 中
Database URL:jdbc:mysql://数据库ip:端口号/数据库名
Username:数据库登录名
Password:数据库登录密码
6、添加JDBC request
线程组【登录接口验证】(自定义名称)-->【右击】—>【添加】-->【取样器】-->【JDBC Connection Configuration】
7、配置JDBC request获取数据库值
Variable Name of Pool declared对应JDBC Connection Configuration中的Variable Name for created pool的设置名称
Query Type:选择select statement
Query:写上需要查询获取到的数据库值
variable names:查询返回参数名称(这里需要用到http请求参数的名称中)
8、在结果树中查看jdbc request结果
9、获取查询的request查询结果做参数(这里做一个说明)
10、线程组【登录接口验证】(自定义的名称)-->【右击】—>【添加】-->【逻辑控制器】-->【循环控制器】
11、循环控制器配置,下面我配置成了3(数据库是3个值)
12、增加计数器
【循环控制器】-->【右击】—>【添加】-->【配置元件】-->【计数器】
13、计数器配置
启动(starting value):给定计数器的起始值、初始值,第一次迭代时,会把该值赋给计数器;
递增(Increment):每次迭代后,给计数器增加的值;
最大值(Maximum):计数器的最大值,如果超过最大值,重新设置为初始值(Start),默认的最大值为Long.MAX_VALUE,2^63-1(如果持续压测,建议最好不要设置最大值)
Number format:可选格式,比如000,格式化为001,002;默认格式为Long.toString(),但是默认格式下,还是可以当作数字使用
引用名称(Reference Name):用于控制在其它元素中引用该值
15、打开函数计数器,设置函数
14、把http请求调整到这个循环控制器中,设置函数
选择v,函数参数中输入usernamec_${n},点击生成(usernamec为jdbc request中 variable names那么值,n为计数器中引用名名称)
另外一个密码函数设置也是如此
15、在http请求中写上14中得到的参数
16、运行,查看结果树