zoukankan      html  css  js  c++  java
  • JMeter(5)、测试数据库

    ·测试一般什么时候需要去操作数据库呢?

    ·详细设计阶段,针对数据库进行测试。

    范式、表名、表字段、类型的检查、测试等。

    1、需要用到数据库的场景

    ·1根据测试用例去构造测试数据。

    ·2查询数据库的数据、获取预期结果。(使用JDBC后置处理器)

    ·3查询数据库的数据、作为测试的输入。(使用JDBC前置处理器)

    ·4查询数据库的数据、判断业务操作是否成功。(使用JDBC后置处理器)

    ·5性能测试。

    2、JMeter操作数据库

    1.Jmeter如何去操作数据库呢?

    Jmeter是一个java应用,所以对于数据库的操作是通过JDBC的方式来实现的。那就意味着要使用Jmeter完成对数据库的测试,需要用户自行根据实际情况去下载相应的数据库的JDBC驱动,如:mysql-connector-java-5.1.20-bin.jar。驱动下载之后,将jar包放入Jmeter的lib目录。

    在Jmeter中,针对数据库进行测试的话,常用到的组件有四个:

    1、JDBC Connection Configuration:实现JDBC连接配置,属于必选组件。

    2、JDBC Request:JDBC请求、是用来实现数据库请求的。结果会计入查看结果树和聚合报告

    3、JDBC前置处理器:是用来在不同的协议请求之前去实现相关的数据库操作。

    比如说:测试数据的初始化、查询数据作为请求参数等。结果不会计入查看结果树和聚合报告

    4、JDBC后置处理器:是用来在不同的协议请求之后去实现相关的数据库操作。

    比如说:测试数据的还原、查询数据作为检查条件等。结果不会计入查看结果树和聚合报告

    PS:JDBC Request、JDBC前置处理器、JDBC后置处理器这三个组件的配置选项基本一致,只是用途不同、使用场景不同而已。

    2.各组件配置

    1·JDBC Connection Configuration:

    Variable Name:变量名称,由用户自定义的,用来标识JDBC连接配置器,在后续的JDBC请求组件中需要用到。

    Validation Query:select 1,用来测试连接

    Database URL:数据库的链接地址,不同类型的数据库,写法不一样。如果遇到解析Date异常,在URL后面加参数:

    ?useUnicode=true&characterEncoding=gbk&zeroDateTimeBehavior=convertToNull

    JDBC Driver class:不同类型的JDBC驱动中的Driver类的package路径,包括类名本身。不同类型的数据库是不一样的。

    PS:URL和Driver class在Jmeter的帮助是有示例的。

    用户名:具有访问权限的数据库用户名。

    密码:用户的密码。

    2·JDBC Request的配置:

    ·Variable Name:该处填写的是在JDBC Connection Configuration组件中所设置的Variable Name,表示使用对应的JDBC Connection Configuration组件来实现数据库连接。

    ·Query Type:请求类型,可选的类型如下:

    ·Select StateMent:表示执行的sql是select语句。

    ·Update StateMent:表示执行的SQL是增删改类操作。关键字:update、insert、delete、create、drop等。

    ·Callable StateMent:主要是用来调用存储过程的,但是也可以用来实现其它所有SQL请求。

    ·PrePared Select StateMent:表示执行的sql是select语句,但是允许在SQL语句中通过?来实现传参(SQL层面的传参,不是Jmeter)。

    ·PrePared Update StateMent:类似于Update StateMent,表示执行的SQL是增删改类操作。但是允许在SQL语句中通过?来实现传参(SQL层面的传参,不是Jmeter)。

     

    PrePared类型的专属选项有以下两个

    ·Parameter values:该处填写的就是需要传递给带?的SQL的参数值。参数值的数量、顺序和SQL语句中的问号保持一致。参数值之间使用逗号分隔。如:35,male

    ·Parameter Types:该处填写的是参数的类型,数量、类型和Parameter values保持一致,要求大写,使用逗号分隔。如:INTEGER,VARCHAR

     

    通用选项

    ·Variable Names:该处可以填写的是由用户自定义的变量名称,用来存储SELECT语句查询的结果。

    1·变量名称可以有多个,使用逗号分隔。

    2·变量是按照顺序去存储查询结果,一个变量存储一列值,即第N个变量存储结果中的第N列值。

    3·存储方式采用的是数组方式,下标是从1开始,即下标1表示当列的第一个值。下标N表示第N个值。并且每一个变量都会有一个隐藏的参数叫:Vname_#=N,用来存储值的个数

  • 相关阅读:
    react ts axios 配置跨域
    npm run eject“Remove untracked files, stash or commit any changes, and try again.”错误
    java 进程的参数和list的线程安全
    帆软报表 大屏列表跑马灯效果JS
    帆软报表 快速复用数据集,避免重复劳动
    分析云 OA中部门分级思路和实现方法
    分析云 分段器 只显示一个块的数据
    分析云 更改服务默认的端口号
    分析云U8项目配置方法新版本(2)
    Oracle 创建时间维度表并更新是否工作日字段
  • 原文地址:https://www.cnblogs.com/yjh1995/p/12578467.html
Copyright © 2011-2022 走看看