• Jmeter入门(7)- 连接数据库


    配置/使用,以MySQL为例

    一、导入数据库(MySQL)的jar包

    1. 连接数据库,需要引入外部的jar包

    1.1. 下载地址:https://dev.mysql.com/downloads/

    1.2. 选择:Connector/J,进入页面

    1.3. 点击下载压缩包

    1.4. 不登录,直接选择 No thanks, just start my download.

    2. 解压,将jar包放到jmeter的lib目录下

    3. 重启jmeter

    二、连接数据库配置(JDBC Connection Configuration)

    位置:线程组右键 ==> 添加 ==> 配置元件 ==> JDBC Connection Configuration

    配置说明

    1. Variable Name for create pool:数据库的名称

    2. Database Connection Configuration连接数据库相关参数配置说明,如下:

      • Database URL:数据库连接地址
        格式:jdbc:<数据库类型>://<数据库链接地址>:<数据库端口号>/<数据库名>
        例:jdbc:mysql://127.0.0.1:3306/testdb

      • JDBC Driver class:JDBC Driver需要在 测试计划 中进行导入
        使用的是什么数据库就选择什么驱动进行链接,例:com.mysql.jdbc.Driver
        在测试计划页面,选择解压好的lib目录下的jar包

      • Username:连接数据库的用户名

      • Password:连接数据库用户的密码

    三、发送数据库请求(JDBC Request)

    可以将JDBC请求(SQL查询)发送到数据库

    位置:线程组右键 ==> 添加 ==> 取样器 ==> JDBC Request

    配置项的含义及解释

    配置项 说明
    Variable Name of Pool declared in JDBC Connection Configguration 与JDBC Connection Configuration中的Variable Name for create pool保持一致
    Query Type 查询类型
    Query sql语句
    注:sql语句后面不需要加
    变量用?占位
    例:select * from users where user_name ='xxx'
    Parameter values 需要传递的变量值
    多个变量用隔开
    Parameter types 变量类型
    例:字段数据类型,varchar
    Variable Names 保存sql语句返回的数据和返回数据总行数
    隔开
    跳过列为空
    Result Variable Name 创建一个对象变量,保存所有返回的数据
    query timeout(s) 超时时间
    默认为0,代表无限时间
    Limit ResultSet 和 limit 类似作用,限制 sql 语句返回结果集的行数
    Handle ResultSet 定义如何处理callable statements语句返回的结果
    默认是存储为字符串

    添加Debug Sampler

    添加Debug Sampler,可以查看变量的数据,方便调试

    位置:线程组右键 ==> 添加 ==> 取样器 ==> Debug Sampler

    运行测试的例子

    1. 只有sql语句的情况

    运行结果

    2. 将sql语句进行参数化

    运行结果和上面相同

    注意

    • sql语句中的变量使用?占位,可以避免SQL注入的问题
    • sql使用占位符时,Query Type必须选择 Prepared Select Statement 或者 Prepared Update Statement
    • Parameter valueParameter type 填写值的数量要保持一致,用,分隔

    3. 变量和参数化结合

    用户定义变量

    运行结果

    注意:sql语句中使用变量时,如果是字符串需要加上引号

    4. Variable Names的使用
    可以将sql语句查询出的数据进行提取

    运行结果

    调试取样器-查看提取的数据

    解释

    • a_#、b_#、d_#表示的是获取的数据的总条数
    • a_1:第一列第一行的数据
    • a_2:第一列第二行的数据
    • b_1:第二列第一行的数据
    • b_2:第二列第二行的数据

    注意

    • Variable Names跳过列为空,例:a,b,,d
    • 如果返回结果为0,那么a_#、b_#、d_#会被设置为0,其它变量不会设置值
    • 可以通过${变量名_#}来获取总条数
    • 可以通过${变量名_n}来获取变量名所在的列的第n行的值,例:${a_1}获取第一行第一列的值

    5.Result variable name的使用

    设置一个变量名,将返回的结果赋值给这个变量

    调试取样器-以一个对象的形式返回所有数据

    官网参考文档:https://jmeter.apache.org/usermanual/build-db-test-plan.html#building
    发送数据库请求(JDBC Request)报错参考:https://www.cnblogs.com/colorfully/p/13870280.html

  • 相关阅读:
    Collectors.reducing总结
    Ubuntu 换源看这一篇就够了
    基于Vue2和Node.js的反欺诈系统设计与实现
    Flink源码解析(四)——从Flink集群部署和任务提交模式看Flink任务的核心组件
    SaaS架构(二) 多租户数据隔离方案
    网络IO模型(BIO,NIO,AIO)
    Gale-Shapley算法
    Java 内存模型
    上位机那些事儿
    三菱PLC之SLMP协议报文说明
  • 原文地址:https://www.cnblogs.com/colorfully/p/13855394.html
Copyright © 2020-2023  润新知