【Jmeter】数据库查询、参数化、结果存储详解

时间:2019-09-17 17:20:03   收藏:0   阅读:144

简介

Jmeter 除了可以发起Http请求,还支持多种协议,可对数据库和中间件发起请求。通过和数据库的交互,Jmeter可以实现接口测试和性能测试的数据准备,数据校验。Jmeter支持多种类型的数据库,只要在引入数据驱动的时候加载不同的驱动包和数据库连接信息即可。本文以Mysql为例详细描述Jmeter如何处理数据库,包含以下知识点:

 Jmeter的核心数据库组件有:JDBC Connection Configuration(数据库连接配置)和JDBC Request(数据库请求)

技术分享图片

 

 

 JDBC Connection Configuration数据库连接配置

 

JDBC Connection Configuration是用于配置数据库连接信息的,主要有如下选项:

发起JDBC Request以前需要指明对应的数据库连接配置,一个Jmeter脚本中可以有多个数据库连接配置

技术分享图片

 

 Jmeter支持不同类型的数据库,针对不同类型的数据库要引入不同的jar包(把jar包放到ext目录下),并在JDBC Connection Configuration中选择不同的 JDBC Driver class和数据库URL,具体格式参见下图

技术分享图片

 

 JDBC连接池配置完毕以后就可以通过JDBC Request发起数据库查询和更新操作。

 

 JDBC Request 数据库请求

 JDBC Request 表示数据库请求,功能类似于客户端的SQL QUERY功能,关键配置信息如下:

  1.  Select Statement:  Select语句

  2.  Update Statement: Insert/Update/Delete 语句

  3.  Callable Statement:回调语句

  4.  Prepared Statement:预编译语句

  5.  Commit:提交

  6.  Rollback:回滚

  7.  AutoCommit:自动回滚

  1.  当编写的是Select语句时,QueryType需要选择Select Statement

  2.  当编写的是Update语句时,QueryType需要选择Update Statement

  3.  当编写的语句带变量时,QueryType需要选择Prepared Statement

 当涉及事物时,需要选择相应的Commit,Rollback和AutoCommit选项技术分享图片

 

JDBC Request 参数化数据库请求

 有时候操作数据库操时,查询或者更新的值是动态变化的,针对这种情况Jmeter提供了参数化的支持,可以将Jmeter的变量直接应用到数据库查询当中。在Jmeter中,参数化数据库请求非常简单,只需要把原有的固定值替换为变量即可(Jmeter中$符号表示变量)。Jmeter不仅可以直接引用脚本中已经生成的变量,还可以引用函数助手生成的变量,如下示例就是使用Jmeter函数助手通过RandomString生成随机变量作为数据库uname的插入值,通过这种方式实现了随机往数据库插入不同用户名的用户。

技术分享图片

 

 JDBC Request 定义数据库返回的结果变量

 

Jmeter通过在JDBC Request中指明Variable names,来存储数据库的返回结果。下图的示例就是查询出指定条件的用户,并且把查询出的前七列数据赋值给n1,n2,n3,n4,n5,n6,n7.

技术分享图片

 

 
此处需注意,以查询为例,返回的是一张2维表数据,n1...n7分别对应的是第1列到第7列,具体到某行某列还需通过debug sampler查看Jmeter生成的变量情况。Jmeter会自动根据行的情况扩展n1...n7,生成每个单元格数据对应的变量。
 示例:如果查询出来的数据有2行3列,并且将Variables names定义为a,b,c,则实际生成的变量:   A_#=2 (总行数)A_1=第1列, 第1行  A_2=第1列, 第2行    B_#=2 (总行数) B_1=第2列, 第1行  B_2=第2列, 第2行         C_#=2 (总行数) C_1=第3列, 第1行  C_2=第3列, 第2行 Jmeter针对Mysql的数据库处理的知识点主要包括以上四项,大家可以根据实际工作的需求去扩展使用~详情可参照Jmeter官网 https://jmeter.apache.org/ 

原文:https://www.cnblogs.com/duxf100/p/11535424.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!