当前位置:   article > 正文

Jmeter 数据库测试参数化_jmeter链接数据库做参数化取多个参数

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,那么如下变量会被设置为:
  1. A_#=2 (总行数)
  2. A_1=(第1列, 第1行)
  3. A_2=(第1列, 第2行
  4. B_#=2 (总行数)
  5. B_1=(第2列, 第1行)
  6. 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 取值成功

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号