有些情况下我们需要读取平台中的用户作为参数,比如用户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();

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

效果如下:

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

JMETER 使用JDBC查找数据作为参数的更多相关文章

  1. jmeter 获取数据库表数据作为参数

    jmeter - 获取数据库表数据作为参数 在jmeter中使用数据库表数据首先需要设置数据库连接,然后在创建JDBC取样器 1.创建配置元件 JDBC Connection Configuratio ...

  2. jmeter 性能测试 JDBC Request (查询数据库获取数据库数据) 的使用

    JDBC Request 这个Sampler可以向数据库发送一个jdbc请求(sql语句),并获取返回的数据库数据进行操作.它经常需要和JDBC Connection Configuration配置原 ...

  3. 转jmeter 性能测试 JDBC Request (查询数据库获取数据库数据) 的使用

    JDBC Request 这个Sampler可以向数据库发送一个jdbc请求(sql语句),并获取返回的数据库数据进行操作.它经常需要和JDBC Connection Configuration配置原 ...

  4. 史上最全的 jmeter 获取 jdbc 数据使用的4种方法——(软件测试Python自动化)

    周五,下班了吗?软件测试人. 明天是周末了!给大家推荐一个技术干货好文.史上最全的 jmeter 获取 jdbc 数据使用的四种方法.我也精剪了jmeter的自动化接口测试的视频放在了同名UP主,周末 ...

  5. 史上最全的 jmeter 获取 jdbc 数据使用的四种方法

    jmeter使用jdbc协议获取数据库中数据,很多人都会用,因为大家在做测试的时候,有时候需要大量的用户进行登录,获取需要数据库中真实的数据用于测试,所以常常会用jdbc来获取数据库数据. 那从数据库 ...

  6. Jmeter之JDBC Request使用方法(oracle)

    JDBC Request: 这个sampler可以向数据库发送一个jdbc请求(sql语句),它经常需要和JDBC Connection Configuration 配置元件一起配合使用. 目录: 一 ...

  7. JMeter接口测试实战-动态数据验证

    JMeter接口测试实战-动态数据验证 说到验证就不得不说断言, 先来看下JMeter官方给出断言(Assertion)的定义, 用于检查测试中得到的响应数据等是否符合预期,用以保证测试过程中的数据交 ...

  8. Jmeter 中JDBC request 详解 !

    JDBC Request: 这个sampler可以向数据库发送一个jdbc请求(sql语句),它经常需要和JDBC Connection Configuration 配置元件一起配合使用. 目录: 一 ...

  9. jmeter之JDBC的使用

     一.配置JDBC Request 1.添加需要的驱动jar包 使用不同的数据库,我们需要引入不同的jar包. 方式1:直接将jar包复制到jmeter的lib目录 mysql数据库:下载mysql- ...

随机推荐

  1. 水晶报表报错:log4net初始值问题

    运行水晶报表的程序一直出错,报错如下: System.TypeInitializationException: “CrystalDecisions.ReportSource.ReportSourceF ...

  2. UrlRouting原理笔记

    UrlRouting路由流程: 添加路由:可以通过调用MapRoute().MapPageRoute(),它们内部都是创建Route对象,最终添加到RouteCollection中. 还可以使用[Ro ...

  3. shell编程(1)

    shell编程(1) 杨乾成 2017301500302 一.尝试ping 题目第一项要求是检验自己主机所在网段有多少主机连通.于是我写的shell程序如下: #!/bin/bash i=; coun ...

  4. appium--连续滑动

    TouchAction 在之前说过了滑动swip,那种是两点之间的滑动,比如上滑,左滑等.但实际工作中会遇到一些复杂的场景,如九宫格的滑动等待,这时候就要使用TouchAction,TouchActi ...

  5. Newcoder 小白月赛20 H 好点

    Newcoder 小白月赛20 H 好点 自我感觉不错然后就拿出来了. 读读题之后我们会发现这是让我们求一堆数,然后这些数一定是递减的. 就像这样我们选的就是框起来的,然后我们可以看出来这一定是一个单 ...

  6. CF1188C Array Beauty(DP)

    日常降智. 不过还是第一次和 2700 的题正解这么近呢-- 由于排序后不影响答案,而且直觉告诉我们排序后会更好做,不妨排个序. 直觉告诉我们,变成求最小差 \(\ge v\) 的方案数会比最小差 \ ...

  7. dogcom在openwrt上的使用

    前提,先配置并运行mentohust(作为802.1x认证) 1,取得编译完成的可执行文件(可先在虚拟机里测试) 2,上传到路由器 3,把dogcom主程序和配置文件放在/etc/storage/do ...

  8. 团队作业第五次—项目冲刺-Day6

    Day6 part1-SCRUM: 项目相关 作业相关 具体描述 所属班级 2019秋福大软件工程实践Z班 作业要求 团队作业第五次-项目冲刺 作业正文 hunter--冲刺集合 团队名称 hunte ...

  9. 查看window重启日志

    命令行输入 net statistics WORKSTATION 显示开机时间 如果你今天一直没有关机,但是你看到这个信息显示今天XX点才开始统计数据的说明电脑重启了

  10. Java8 新特性 Stream() 创建流

    通过Controllere类的Stream()和parallelStream()创建流 //通过集合创建流 @Test public void test1() { String arr[] = new ...