上一篇:JMeter系列接口之断言,主要介绍接口断言的三种方式:Response Assertion(响应断言)、JSON Assertion(JSON断言)、BeanShell Assertion(BeanShell断言)。
以下主要介绍jmeter数据库操作:JDBC Connection Configuration、JDBC Request组件介绍及数据库查询操作实战。
在做接口测试中,我们需要对数据库发起请求或者对数据库施加压力,比如查询手机号是否注册、充值后余额是否正确等,这时候就需要用到JDBC Request
。JDBC Request可以向数据库发送一个请求,一般配合JDBC Connection Configuration配置元件一起使用。
一、引入jar包
使用不同的数据库,我们需要引入不同的jar包,本文主要介绍mysql。
①方法一:将jar包复制到jmeter的lib目录;
②方法二:Test Plan(测试计划)引入jar包;
新建Test Plan(测试计划),然后添加mysql jar包的路径。
二、JDBC Connection Configuration
1、JDBC Connection Configuration界面介绍
①Thread Group(线程组),右键,依次选择Add--》Config Element--》JDBC Connection Configuration;
②JDBC Connection Configuration界面如下:
Database Connection Configuration:
-
Database URL: 数据库URL,比如mysql格式: jdbc:mysql://服务器地址:3306/数据库名
-
JDBC Driver class: 数据库JDBC驱动类名:com.mysql.jdbc.Driver
-
Username:数据库连接用户名
-
Password:数据库连接密码
2、不同数据库的驱动类和URL格式
Database | Driver class | Database 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 |
三、JDBC Request
1、JDBC Request界面介绍
①Thread Group(线程组),右键,依次选择Add--》Sampler--》JDBC Request。
②JDBC Request界面如下:
-
Variable Name:数据库连接池的名字,需要与JDBC Connection Configuration的Variable Name 名字保持一致。
-
Query Type:根据不同的使用场景设置SQL的语句类型,如:Select Statement用于查询,Update Statement则可用于更新和删除记录、Prepared Select Statement则为带参数的select 语句的查询。
-
Parameter valus:参数的值,如有多个值,使用逗号分隔。
-
Parameter types:参数值对应的类型,比如INTEGER, DATE, VARCHAR, DOUBLE,如有多个值,使用逗号分隔。
-
Variable names:保存sql语句返回结果的变量名。
-
Result variable name:创建一个对象变量,保存所有返回的结果。
-
Query timeout:查询超时时间。
-
Handle result set:定义如何处理由callable statements语句返回的结果。
四、数据库操作实战
现在我们需要根据商品id来查询商品数量。
①创建Test Plan(线程组),如果jar包未放到jmeter的lib目录下,那么就在Test Plan引入jar包。
②创建JDBC Connection Configuration,配置数据库连接信息如下:
③创建JDBC Request,配置如下:
④创建View Results Tree(察看结果树),运行后,结果显示:
感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
① 2000多本软件测试电子书(主流和经典的书籍应该都有了)
② 软件测试/自动化测试标准库资料(最全中文版)
③ 项目源码(四五十个有趣且经典的练手项目及源码)
④ Python编程语言、API接口自动化测试、web自动化测试、App自动化测试(适合小白学习)
⑤ Python学习路线图(告别不入流的学习)
在我的QQ技术交流群里(技术交流和资源共享,广告进来腿给你打断)
可以自助拿走,群号953306497(备注“csdn111”)群里的免费资料都是笔者十多年测试生涯的精华。还有同行大神一起交流技术哦。