jemter进行mysql数据预置_jmeter连接mysql数据库

背景:做接口压力测试时可能需要从数据库中读取数据作为参数进行传递,jmeter提供JDBC连接的相关元件,本文记录jmeter连接mysql数据库进行参数传递的关键步骤和方法

1、下载mysql数据库驱动包并添加到测试计划中

1.1 先查看服务器中安装的数据库版本,下载一个高于数据库版本的数据库驱动包,如:服务器mysql版本为5.6.0,我下载的是mysql-connector-java-8.0.11.jar

1.2 在jmeter的测试计划中添加下载的jar文件

129fedae2004f7a20157a6e61d030f97.png

2、在线程组中添加JDBC Connection Configuration并配置数据库连接参数

2.1 右键线程组->添加->配置元件->JDBC Connection Configuration

2.2 填写配置信息,如下图所示

921c4c004aa2627ba3f8c0e835d6f1b1.png

参数说明:

Varibale Name:注意变量名,后面添加jdbc请求时需要与该名字一致

Database URL:数据库连接地址,jdbc://mysql/地址:port/db_name,加上“?useUnicode=true&characterEncoding=utf8”为了避免后续相关测试的时候中文显示乱码

JDBC Driver class:com.mysql.jdbc.Driver

Username:数据库用户名

Password:数据库密码

3、添加JDBC Request

3.1 线程组->添加->Sample->JDBC Request

add8a7ca9b144deb209d86605005dcba.png

3.2 添加需要查询的语句【不带变量】

6f637f8d818d4283790ee9b23a47412e.png

参数说明:

Variable Name:之前配置的JDBC Connection Configuration的Variable Name名称保持一致

Query Type:含变量的sql查询,选择Prepared Select Statement,不含变量的sql查询,选择Select Statement,同理update的选项

Query:输入sql语句,注意不要加分号

Parameter values:引用用户定义的其他变量

Parameter types:变量的类型

Variable names:保存查询结果,供其他元件调用,这里需要是order_no需要作为变量保存结果;当查询结果是多个字段时,变量用逗号隔开,如new_order_no,new_id。

Result variable name:上面Variable names中的变量是个数与列对应的,Result variable name是把整个结果存在一个数组中,返回结果有点类似json字符串

3.3 运行下脚本,检查是否可以正常从数据库查询数据【不带变量】

405740cff682702fa0221f7af4ecc223.png

3.5 添加需要查询的语句【带变量】,选择Query Type为prepared select statement

3.5.1 方法一:SQL中带变量可以通过?占位符填充变量,如下图所示

3ffa4d85d418d75d4b194e567d011482.png

3.5.2  方法二:直接在SQL语句中通过${} 引用参数

4e3478052aff56ac94d4dab7676f9811.png

3.5.3 检查带变量输出的结果以及将结果保存为数组输出的结果

67429334b9488c925f60e0f5c81d0fbe.png

4、实际的测试过程中通常我们只需要查询一次,查询结果供其他请求使用,可以通过仅一次控制器实现

4.1 线程组->添加->逻辑控制器->仅一次控制器,将JDBC request移动到仅一次控制器内部,如下图所示

7a77cccf3445850218593f6774c69675.png

关于其他请求调用JDBC Request变量的方法请关注后续笔记

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值