美文网首页测试的一些知识
jmeter-sql执行之动态参数和提取返回值

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

作者: 井湾村夫 | 来源:发表于2018-10-04 16:04 被阅读1次

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

    • 首先我们的vault_user表有这些数据


      1.png
    • 假设我们的一个接口参数是需要namg和age,那么我们就需要依次获取每行的name和age的值,有两个问题需要解决,第一个是动态设置sql语句,第二个是提取返回的值;在jmeter如何实现呢
    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

    相关文章

      网友评论

        本文标题:jmeter-sql执行之动态参数和提取返回值

        本文链接:https://www.haomeiwen.com/subject/sauxaftx.html