一、导入数据库驱动包;
(1)、在网上搜索下载数据库驱动包(MySQL的地址https://dev.mysql.com/downloads/file/?id=480090)
(2)、解压,获取到jar包,并将其复制到Jmeter的安装路径下的\lib文件夹下面;重启Jmeter就已经成功导入了;
二、添加【JDBC Connection Configuration】(选中【线程组】右键-->>添加-->>配置元件-->>JDBC Connection Configuration);
(1)、【Variable Name】:数据库连接池的变量名,最好填写一个有实际意义的名称,后面JDBC request调用需要使用;
(2)、Connection pool Configuration:数据库连接池配置,可以直接使用数据库默认的即可;
(3)、Database Connection Configuration:数据库连接配置,需要根据实际数据库部署情况配置,
a、【DatabaseURL】:jdbc:mysql://hostname:port/sid 前面的 “ jdbc:mysql:// ” 部分是固定的,后面的 ” hostname:port/sid “根据实际配置(例如:jdbc:mysql://192.168.5.61:3306/oadata ,“ 192.168.5.61”代表数据库所在的服务器地址(一般IP),“ 3306 ”代表了端口,“ oadata ”表示数据库名称)
b、【JDBC Driver class】:固定选择com.mysql.jdbc.Driver
c、【Username】、【Password】:数据库用户名、数据库密码
三、添加【JDBC Request】(选中【线程组】右键-->>添加-->>Sample-->>JDBCRequest)
(1)、Variable Name: 数据库连接池的名称,使用上个步骤【JDBC Connection Configuration】添加的名称;
(2)、Query Type:SQL语句的类型;
a、Select Statement(查询语句);
b、Update Statement(update语句、insert语句、delete语句也使用这个);
c、Callable Statement(存储过程)
(3)、Parameter value:参数值(设置需要传入的SQL语句中的值,也可以用变量,直接读取csv文件的值)
(4)、Parameter Types:参数类型(设置需要传入的SQL语句中的值的类型,要跟上面的参数保持一致,参数类型的填写可以参考:Javadoc for java.sql.Types)
(5)、Variablenames:变量名称,用于保存sql语句返回结果的变量名(如果返回字段为多个,使用英文逗号“,”进行分隔即可,系统将根据数据库返回的顺序分别赋值给对应变量,例如查询语句为:select userID,password,name from users limit 10 那么数据库返回时候为【10行3列】的数据,如果3行数据都需要保存,则Variablenames可以填为【userID,password,name】,如果只需要userID,name,则需要填【userID,,name】***如果不需要存储某一列,也需要保留逗号***【userID_1】代表了查询结果userID的第一个值;【userID_N】代表了查询结果userID的第N个值;)
四、添加【Debug Sampler】,(选中【线程组】右键-->>添加-->>Sample-->>Debug Sampler)这个没有实质意义,主要是测试时候检验数据库取值是否正常;(默认配置即可)
五、添加【循环控制器】(选中【线程组】右键-->>添加-->>逻辑控制器-->>循环控制器)
填写${Variable names_#},代表每个循环次数等于从数据库中取出来的行数,如果直接填常量,则每个线程循环次数为一个常量(这里循环执行的只是控制器内的内容,控制器以外的,根据线程组设置调用)
六、添加【计数器】(选中【逻辑控制器】右键-->>添加-->>配置元件-->>计数器)
我们需要的值是根据【${变量名称_N}】来取的,这个N通过计数器递增的方式获取
七、添加请求(选中【逻辑控制器】右键-->>添加-->>Sample-->>HTTP 请求);
这个只填写需要循环的循环体
八、函数助手的使用方式(打开选项-->>函数助手对话框)
选择功能【_V】代表的是变量,选择功能之后,系统会带出函数参数的名称,在右边的值填上【JDBC Request中返回的变量get_user】跟【计数器中返回的应用名称N】来组合完成,中间使用下划线;赋值完成之后,点击生成即可生成目标函数,赋值到请求中即可使用了;具体功能选择,可以查看https://jmeter.apache.org/usermanual/functions.html