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();
我们可以使用调试采样器,来显示上下文的变量数据,使用非常方便。
效果如下:
有了调试器,我们可以很方便的查看上下文的变量。
JMETER 使用JDBC查找数据作为参数的更多相关文章
- jmeter 获取数据库表数据作为参数
jmeter - 获取数据库表数据作为参数 在jmeter中使用数据库表数据首先需要设置数据库连接,然后在创建JDBC取样器 1.创建配置元件 JDBC Connection Configuratio ...
- jmeter 性能测试 JDBC Request (查询数据库获取数据库数据) 的使用
JDBC Request 这个Sampler可以向数据库发送一个jdbc请求(sql语句),并获取返回的数据库数据进行操作.它经常需要和JDBC Connection Configuration配置原 ...
- 转jmeter 性能测试 JDBC Request (查询数据库获取数据库数据) 的使用
JDBC Request 这个Sampler可以向数据库发送一个jdbc请求(sql语句),并获取返回的数据库数据进行操作.它经常需要和JDBC Connection Configuration配置原 ...
- 史上最全的 jmeter 获取 jdbc 数据使用的4种方法——(软件测试Python自动化)
周五,下班了吗?软件测试人. 明天是周末了!给大家推荐一个技术干货好文.史上最全的 jmeter 获取 jdbc 数据使用的四种方法.我也精剪了jmeter的自动化接口测试的视频放在了同名UP主,周末 ...
- 史上最全的 jmeter 获取 jdbc 数据使用的四种方法
jmeter使用jdbc协议获取数据库中数据,很多人都会用,因为大家在做测试的时候,有时候需要大量的用户进行登录,获取需要数据库中真实的数据用于测试,所以常常会用jdbc来获取数据库数据. 那从数据库 ...
- Jmeter之JDBC Request使用方法(oracle)
JDBC Request: 这个sampler可以向数据库发送一个jdbc请求(sql语句),它经常需要和JDBC Connection Configuration 配置元件一起配合使用. 目录: 一 ...
- JMeter接口测试实战-动态数据验证
JMeter接口测试实战-动态数据验证 说到验证就不得不说断言, 先来看下JMeter官方给出断言(Assertion)的定义, 用于检查测试中得到的响应数据等是否符合预期,用以保证测试过程中的数据交 ...
- Jmeter 中JDBC request 详解 !
JDBC Request: 这个sampler可以向数据库发送一个jdbc请求(sql语句),它经常需要和JDBC Connection Configuration 配置元件一起配合使用. 目录: 一 ...
- jmeter之JDBC的使用
一.配置JDBC Request 1.添加需要的驱动jar包 使用不同的数据库,我们需要引入不同的jar包. 方式1:直接将jar包复制到jmeter的lib目录 mysql数据库:下载mysql- ...
随机推荐
- 洛谷 P1823 [COI2007] Patrik 音乐会的等待
洛谷 P1823 [COI2007] Patrik 音乐会的等待 洛谷传送门 题目描述 N个人正在排队进入一个音乐会.人们等得很无聊,于是他们开始转来转去,想在队伍里寻找自己的熟人.队列中任意两个人A ...
- 调试经验分享-让自己的电脑充当WI-Fi模块,用来抓取连接Wi-Fi模块APP上的通信数据
需求 手头有了厂家的APP和Wi-Fi模块 在已经知道APP是通过TCP连接Wi-Fi模块(8266), 同时也知道了连接的端口号的 情况下如何知道厂家的APP发送给Wi-Fi模块的数据 打开自己的笔 ...
- requests--超时设置,代理设置,身份认证
超时设置 你可以告诉 requests 在经过以 timeout 参数设定的秒数时间之后停止等待响应.基本上所有的接口都应该使用这一参数.如果不使用,你的程序可能会永远失去响应 import requ ...
- Web协议详解与抓包实战:HTTP1协议-如何管理跨代理服务器的长短连接?(4)
一.HTTP 连接的常见流程 二.从 TCP 编程上看 HTTP 请求处理 三.短连接与长连接 四.Connection 仅针对当前连接有效 五.代理服务器对长连接的支持 未设置代理服务器 设置代理 ...
- [LeetCode] 881. Boats to Save People 渡人的船
The i-th person has weight people[i], and each boat can carry a maximum weight of limit. Each boat c ...
- [LeetCode] 264. Ugly Number II 丑陋数之二
Write a program to find the n-th ugly number. Ugly numbers are positive numbers whose prime factors ...
- PKUWC2020游记
PKUWC2020在2019年举行是真的沙雕 晚个两星期我就能逃掉期末考了 Day \(-\infty\) 开始停课训练,和ntf.lzy一起. atcoder真好玩,只可惜我没脑子-- kenkoo ...
- vue中子组件的methods中获取到props中的值
这个官网很清楚,也很简单,父组件中使用v-bind绑定传送,子组件使用props接收即可 例如: 父组件中 <template> <div> <head-top>& ...
- uni-app调用支付宝、微信支付
项目中要用到支付功能,现在来看支付宝.微信应该是必选的两个方式了. uni-app 文档中要求:APP端 微信 和 支付宝的 orderInfo 必须是 字符串. 调用支付宝时,支付宝直接返回的 or ...
- Java软件生产监控工具Btrace的使用
Btrace BTrace是sun公司推出的一款Java 动态.安全追踪(监控)工具,可以在不用重启的情况下监控系统运行情况,方便的获取程序运行时的数据信息,如方法参数.返回值.全局变量和堆栈信息等, ...