zoukankan      html  css  js  c++  java
  • Jmeter 数据库测试参数化

    1、JDBC Request 参数化

    • 方法一、Jmeter 参数化,在 sql query 中使用变量
      •  Jmeter 参数化,使用 csv 参数化
      •  sql query 中使用 ${变量名} 引用

    • 方法二、在 sql query 中使用 "?" 作为占位符,并传递参数值和参数类型
      • 传递的参数值是常量,多个变量使用 "," 分隔(注意:Parameter values 中传入多个参数时,前提时 sql 中需要多个参数)

      • 传递的参数值是变量,使用 csv 参数化 id 再使用 ${变量名} 的方式  

    2、Variables names 参数使用方法

    • Jmeter 官网给的解释是:如果给这个参数设置了值,它会保存 sql 语句返回的数据和返回数据的总行数。假如,sql 语句返回2行,3列,且 variables names 设置为 A,B,那么如下变量会被设置为:
    A_#=2 (总行数)
    A_1
    =(第1列, 第1行)
    A_2
    =(第1列, 第2行
    B_#
    =2 (总行数)
    B_1
    =(第2列, 第1行)
    B_2
    =(第2列, 第2行)
    • 如果返回结果为 0,那么 A_# 和 B_# 会被设置为 0,其它变量不会设置值。
    • 如果第一次返回 6 行数据,第二次只返回 3 行数据,那么第一次多的 3 行数据变量会被清除。
    • 可以使用 ${A_#}、${A_1}...获取相应的值
    • 实例如下
      • 添加一个 "Debug Sampler" 用来查看输出的结果,设置 variables name 为 A,B,C,D
      •  A 代表第一列所有的数据,A_# 可以获取到第一列的行数  
      •  A_n:获得第一列第 n 行的数据
      • 假如我们只需要第一列和第三列的数据,可以写成  A,,C ;中间的 "," 不可以省略

     

    3、Result variable name(使用上一次查询结果作为参数)

    • JDBC Request(查询所有信息)请求设置如下

    • 添加 BeanShell Sampler
    vars.put("新变量名",vars.getObject("变量名").get(第几个值).get("数据库表列名").toString());

    • BeanShell Sampler 下面添加 JDBC Request,再通过上面的结果变量 ${re} 作为查询条件进行反验证 BeanShell Sampler 取值成功

  • 相关阅读:
    Linux系统操作问题汇总
    记录一些mysql数据库常用操作命令和问题汇总
    python学习之路-练习小程序02(模拟用户登录)
    python学习之路02(基础篇2)
    python学习之路-练习小程序01(猜年龄)
    python学习之路01(基础篇1)
    hashmap详解(基于jdk1.8)
    maven创建项目太慢怎么办
    CAS原理
    JUC原子类3-AtomicLongArray原子类
  • 原文地址:https://www.cnblogs.com/ZhengYing0813/p/11695811.html
Copyright © 2011-2022 走看看