zoukankan      html  css  js  c++  java
  • JMETER 使用JDBC查找数据作为参数

    有些情况下我们需要读取平台中的用户作为参数,比如用户ID作为参数进行压力测试,我们可以使用CSV文件,如果这样做,需要每一次

    都构造文件,比较麻烦。如果可以查询数据库,将查出的数据作为参数循环传入的话就很方便了,JMETER 可以很方便的实现这个。

    下面就介绍一下做法:

    为了简单实现:

    我实现的目标是:

    1.从数据库读出数据。

    2.把这些数据循环写到文件中。

    1.配置驱动

    在测试计划处选取jar文件,这里我选择mysql的驱动程序。

    2.配置 JDBC连接池

    红框表示连接池名称,之后的执行查询操作需要使用到这个连接池名称。

    3.配置一个jdbc request 查询用户并把用户id作为变量存储到用户上下文变量中。

    1.填写数据库连接池名称。

    2.填写需要执行的SQL语句,我们查询数用户表的ID作为参数。

    3.Variable names 填写变量名前缀。

    实际的变量存储 是 变量前缀名 +_ + 索引

    用户可以通过索引获取变量,下文还有介绍,比如上面的定义,我们可以通过代码 获取这个变量,比如 vars.get("uuid_" + index)。

    4.获取用户总数并放入变量中。

    我们通过获取用户的总数,这个的作用是我们可以获取这个变量数据,决定之后循环的次数。

    我们获取用户的总数,并用来控制下一步循环的次数。

    5.执行循环获取用户的ID数据作为参数

    控制循环的次数,这里通过变量表达式获取用户的总数,应为用户的总数只有一个值,所以可以通过 count_1 来获取这个值。

    增加计数器,用来读取变量。计数器从1开始,每次迭代增加1。

    读取变量

    增加一个beanshell取样器。

    这个作用是:

    1.读取计数器

    2.通过变量读取之前的用户id 数据。

    3.将读取的数据写入到文件中。

    我们执行后,查看生成的文件。

    这个文件和数据库的数据一致,这样就实现类读取数据的数据实现参数化。

    上面的例子中,我们可以通过 变量前缀加 索引获取结果,还有一种方法也是可以获取变量的。

    我们可以使用:

    Result Variable name 来做。

    上面修改如下:

    Result Variable name 填写ids

    计数器从0开始。

    关键的代码如下:

    vars.get("ids").get(index).get("id_").toString();

    我们可以使用调试采样器,来显示上下文的变量数据,使用非常方便。

    效果如下:

    有了调试器,我们可以很方便的查看上下文的变量。

  • 相关阅读:
    Solaris 11 system package 安装与更新(如:assembler)
    JS实现页面内跳转
    使用Eclipse进行嵌入式软件开发
    Eclipse下C++标准库报错::mbstate_t has not been declared
    嵌入式ARM开发环境搭建
    CCS内存数据转成图片
    RESET
    Android 圆角研究
    Java 重写必须满足的条件
    android 社会化分享集成
  • 原文地址:https://www.cnblogs.com/yg_zhang/p/10979799.html
Copyright © 2011-2022 走看看