一、链接数据库
1.下载mysql驱动(mysql jdbc driver)下载地址:https://dev.mysql.com/downloads/connector/j/5.1.html
2.解压后将.jar驱动文件拷贝到jmeter安装目录lib文件夹下
3.创建"JDBC Connection Configuation" (配置元件→JDBC Connection Configuation)
参数说明:
- Variable Name:数据库连接池的名称,名字可自定义,但是必须与* * JDBC Request中的Variable Name保持一致
- Database URL:数据url jdbc:mysql://主机ip或者机器名称:mysql监听的端口号/数据库名称,例如:jdbc:mysql://localhost:3306/sqltest
- JDBC Driiver class:JDBC驱动
- Username:数据库登录的用户名
- Password:数据库登录的密码
二、JDBC Request配置
1.创建 "JDBC Request"(Sampler→JDBC Request)
2.添加Debug Sampler,查看结果树,运行后查看
结果说明:
查询数据库表student,并将查询结果存放在变量中,可通过${id_#}来获取列表中的数据(例如:${id_1}获取第一列数据、${name_1获取第二列数据})
参数说明:
- Variable Name:数据库连接池的名字,需要与JDBC Connection * * * Configuration 的 Variable Name Bound Pool 名字保持一致
- SQL QUERY:多条sql语句,需要用“;”隔开
- Select Statement:仅支持测试select语句,并且一次只能测试一条
- Update Statement:支持测试费select语句,并且支持测试多条
若中夹杂select语句,会自动忽略若第一条语句为select语句,则会报错 - Callable Statement:语法正确,支持多条任何语句,如果需同时执行多条语句,JDBC Connection Configuration 中 Database URL,配置中加上?allowMultiQueries=true,否则报错(例如:jdbc:mysql://localhost:3306/sqltest?allowMultiQueries=true)
- Parameter valus:参数值
- Parameter types:参数类型,(例如:int char varchar等)
- Variable names:保存sql语句返回结果变量名
- Result variable name:创建一个对象变量,保存所有返回的结果
- Query timeout:查询超时时间
- Handle result set:定义如何处理由callable statements语句返回的结果
三、数据参数化
1.添加ForEach控制器(逻辑控制器→ForEach控制器)
参数说明:
- 输入变量前缀:本例中为id(与JDBC Requse中的返回结果Variable names变量名一致)
- Start index for loop (exclusive):循环开始的索引(默认从0开始,如果填写是2,实际是从2+1个开始执行)
- End index for loop(inclusive):循环结束的索引
- 输出变量名称:提供给其他控件引用,可自定义,调用时使用该参数
- Add“-”before number:输入变量名称中是否使用-进行间隔。