https://dev.mysql.com/downloads/connector/j/



先添加一个setUp线程中,在setUp中添加“配置元件”-JDBC Connection Configuration
注:当然你也可以根据测试需求在执行线程组中添加JDBC Connection Configuration,放在setUp中主要是为了避免每次迭代都重新创建链接
在Variable Iame for created pool中写入创建链接的引用名,后续使用此名称
在Database Connection Configuration 中写入链接数据库信息
Database URL:数据库连接 URL
JDBC Driver class :数据库驱动
Username :数据库登录用户名
Password :数据库登录密码
Connection Properties 建立连接时要设置的连接属性
| 数据库 | 驱动 | URL |
|---|---|---|
| MySQL | com.mysql.jdbc.Driver | jdbc:mysql://host:port/{dbname} |
| PostgreSQL | org.postgresql.Driver | jdbc:postgresql:{dbname} |
| Oracle | oracle.jdbc.driver.OracleDriver | jdbc:oracle:thin:user/pass@//host:port/service |
| sqlServer | com.microsoft.sqlserver.jdbc.SQLServerDriver | jdbc:sqlserver://host:port;databaseName=databaseName |
还可以根据自己需求自定义其他参数


在sql query中使用”?“作为占位符,并传递参数值和参数类型

当Variable names中设置了参数名,可以使用参数名获取参数值
执行时直接引用参数名

- def key_all = vars.get('row_key_#')
- log.info('总行数 '+key_all)
- def key_1 = vars.get('row_key_1')

请求中引用输出变量名${F_row_key}

输出:

设置唯一数时,使用jmeter计数器,设置自增规则后,在JSR223中引用

直接引用以${}形式引用'${P_select}'
- def P_select = '${P_select}'
- log.info('当前key '+ P_select)
导致'${P_select}'计数器在执行取值阶段数据异常,并没有按照预想递增方式取值;
5并发演示:
以线程1-3为例,所以迭代取值都为key = 16

使用vars方式取值:
- def P_select = vars.get('P_select')
- log.info('当前key '+P_select)
能够按照设定依次递增取值

跨线程组传参
线程组1 props.put('P_row_pk',row_pk)线程组2接收 String props_pk = props.get('P_row_pk')
数据库修改链接数
- 查询容器
- docker ps
- 进入容器,或进入MySQL安装目录
- sodo docker exec -it mysql bash
- 连接MySQL
- mysql -u root -ppassword -h localhost
- 查询当前连接数
- SHOW VARIABLES LIKE 'MAX%';
- 修改连接数
- set global max_connections = 151