概述:

jmeter 中,常常需要连接数据库去断言业务是否正确。因此 jdbc 数据库关联是必须掌握的核心知识。

基础操作

JDBC 请求,最核心的是两个 jar 包:
mysql 驱动-mysql-connector-java-5.1.13-bin.jar
sqljdbc4.jar
将这两个 jar 包放到 Jmeter 目录中的 lib 文件下,然后重启 Jmeter

添加线程组

Jmeter 接口自动化交流扣扣群:704807680

添加 JDBC Connection Configuration

JDBC Connection Configuration 基本配置

Variable Name:
数据库连接池的名称,因为一个测试计划可以有多个 JDBC Connection Configuration,每
个可以取不同的名称。在 jdbc request 中通过这个名称选择合适的连接池进行使用。

(注意 Variable Name 命名必须和之后 JDBC Request 中的 Variable Name 命名一致)

Max Number of Connections:最大连接数;如果做性能时,建议填 0;如果默认为 10,表示最大只能连接 10 个线程;

Max Wait(ms):最大等待时间,单位毫秒;

Time Between Eviction Runs(ms):有空闲的线程数,释放不使用的线程;

Auto Commit:自动提交,默认为 true,如修改数据库时,自动 commit;

Database URL:jdbc:mysql://host:{port}/dbname?allowMultiQueries=true(允许执行多条 sql)

JDBC Driver class:com.mysql.jdbc.Driver

Username:数据库用户名

Password:数据库密码
Jmeter 接口自动化交流扣扣群:704807680

添加 JDBC request

这个 Sampler 可以通过 sql 语句向数据库发送一个 jdbc 请求,并对获取返回的数据进行操作。它需要和 JDBC Connection Configuration 一起使用

Variable Name:数据库连接池的名字,需要与 JDBC Connection Configuration 的 Variable 保持一致

Query :填写 sql 语句,下拉可以选择不同类型的 sql

Query type:表示 sql 类型。select 表示查询,update 表示更新。不同的 sql 类型需要指定不同的 type

Parameter valus:参数值

Variable names:保存 sql 语句返回结果的变量名

Result variable name:创建一个对象变量,保存所有返回的结果

Query timeout:查询超时时间

Handle result set:定义如何处理由 callable statements 语句返回的结果
Jmeter 接口自动化交流扣扣群:704807680

执行线程,查看结果

jdbc 请求的 sql 中可以传入变量,同时也可把变量传出来供后续接口调用!

我们从 sql 表中将需要的 id 关联出来

下一个接口的传参有些不同,变成了 id_1。_1 表示我们从 sql 返回中取第一行数据。这个_1 必填

Jmeter 接口自动化交流扣扣群:704807680


↙↙↙阅读原文可查看相关链接,并与作者交流