有些情况下我们需要读取平台中的用户作为参数,比如用户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. python 环境搭建 python-3.4.4

    第一步:下载和安装python-3.4.4amd.msi 可以去官方网站下载,也可以从网盘下载: 链接:https://pan.baidu.com/s/1dZ9ibgigKPdPUJgykLA_jg ...

  2. elasticsearch 简单demo RestHighLevelClient LowLeveClient

    参考: https://www.elastic.co/guide/en/elasticsearch/client/java-rest/6.7/java-rest-low.html www.elasti ...

  3. postgres 字符操作补位,字符切割

    补位: ,'); -- 字符切割 并取值: )

  4. Linux学习笔记-第4天- linux命令有很多,不要求全会,常用的一定要能够熟练使用

    linux命令就像单词,有很多.词汇量固然越大越好,但是常用基础命令一定要做到熟练应用. 同时学习不是死记硬背,排错能力同等重要,要理解其命令背后的运行机制,这样才能在翻车时 及时救场.

  5. Linux构建DNS主从服务器

    所有服务器:iptables -Fsystemctl stop firewalldsetenforce 0 配置yum 主服务器:[root@localhost ~]# yum -y install ...

  6. Xamarin.Forms移动开发系列1:介绍和安装

    摘要 Xamarin成立于2011年5月16日.Xamarin 是一套基于C#语言的跨平台移动应用开发工具,2016年2月24日被微软正式收购. 前言 很早就已经听说强大的.NET生态中有一个移动开发 ...

  7. [LeetCode] 164. Maximum Gap 求最大间距

    Given an unsorted array, find the maximum difference between the successive elements in its sorted f ...

  8. [LeetCode] 38. Count and Say 计数和读法

    The count-and-say sequence is the sequence of integers with the first five terms as following: 1. 1 ...

  9. IDEA 最新破解方法,2019 版本已支持(持续更新,更新时间2019-05-14)

    一.安装进入官网下载适合自己系统的版本,下载地址:https://www.jetbrains.com/idea/download/#section=windows ​ 2. 安装中选择适合本机的64位 ...

  10. SpringCloud项目中使用Nacos作为注册中心

    SpringCloud和Nacos的介绍原理在这里就不多说了,百度一大堆,这里就只是记录一下刚开始学习时候项目的使用过程 Nacos-server 我这里是从官网下载的Nacos-server 下载地 ...