测试的一些知识

jmeter-sql执行之动态参数和提取返回值

2018-10-04  本文已影响1人  井湾村夫

  在使用jmeter操作mysql的实际工作中,sql的参数不一定就是确定的,就像有时我们需要动态从数据库获取某一个或某几个值,这个时候就需要动态的设置sql语句,那么我们应该怎么搞呢?这就用到了CSV数据文件配置这个插件。下面开始上场景。

  1. 打开jmeter,在jmeter新建一个线程组,起名数据库


    image.png
  2. 新建一个配置元件JDBC Connection Configuration


    image.png
  3. 配置好你的mysql数据库,并新建一个 JDBC Request的Sampler,具体的配置可以参考上篇文章,传送门
  4. 假设你已经连接上了数据库,我们在JDBC Request写入如下的sql语句
Parameter valus:参数值 
Parameter types:参数类型,可参考:Javadoc for java.sql.Types 
Variable names:保存sql语句返回结果的变量名 
Result variable name:创建一个对象变量,保存所有返回的结果 
Query timeout:查询超时时间 
Handle result set:定义如何处理由callable statements语句返回的结果

variables names设置为A,,C,那么如下变量会被设置为:
  A_#=2 (总行数)
  A_1=第1列, 第1行
  A_2=第1列, 第2行 
  C_#=2 (总行数) 
  C_1=第3列, 第1行
  C_2=第3列, 第2行
如果返回结果为0,那么A_#和C_#会被设置为0,其它变量不会设置值。
如果第一次返回6行数据,第二次只返回3行数据,那么第一次那多的3行数据变量会被清除。
可以使用${A_#}、${A_1}...来获取相应的值
image.png
  1. 为了方便观察,新建一个查看结果树和Debug sampler


    image.png
  2. 执行查看结果


    image.png
  3. 已经解决了第二个问题,提取sql查询的返回值,那么现在解决第一个sql动态参数


    image.png
    image.png
    image.png
  4. 在JDBC Request 引入你增加的参数名称


    image.png
  5. 为了看出效果,更改数据库线程组为6(和文件里一样),并运行脚本


    image.png
    image.png

------------------------------------------------------------------------------------------------------ over

上一篇 下一篇

猜你喜欢

热点阅读