jmeter根据循环获取参数_Jmeter--同线程组循环获取数据库数据传递请求

本文介绍了如何使用JMeter从数据库中获取数据并按循环将参数传递给HTTP请求。首先设置JDBC Connection Configuration连接数据库,然后创建线程组并配置循环控制器和计数器,最后在HTTP Request中利用变量拼接参数进行接口调用。
摘要由CSDN通过智能技术生成

实例:同线程组从数据库内获取3个uid,把3个uid分别作为不同参数,循环传递给T票UI及发布朋友圈接口。最终结果分别请求了3次接口,并且每个接口请求uid均不一致

jmeter整体结构

1、连接数据库

JDBC Connection Configuration连接数据库

(1)Varibale Name for created poot 数据库调用名称如:“tw_test”。那么后续通过该调用名去调用数据库

(2)下方红框内填写数据库相关信息。

2、创建线程组

(1)创建该线程组,作用为整个同步线程的控制

(2)填写线程相关名称,线程数目前填写1个即可(因需求而异),秒数个人定义,循环此时暂且定为1

3、从数据库获取数据

(1)在线程组内创建JDBC Request

(2)填写数据库获取相关参数

第一个红框:

Variable Name orf Pool declared in JDBC Connection Configuration:tw_test

此处填写数据库开始定义的调用名称:tw_test

第二个红框:

此处填写sql 查询语句

select uid from appuser_88 limit 3

第三个红框:

Variable Name:uid

此处填写数据库所要查询的名称:uid

select uid,uid1 from appuser_88 limit 3

如果要在sql语句查询两种,那么久用逗号分割即可如:uid,uid1

4、添加循环控制器

(1)在线程组内添加循环控制器

(2)控制器填写

loop Cunt: ${uid_#}

为什么填写 ${uid_#},因为从数据内获取第一条数据获取语句为: ${uid_1},获取第二条为: ${uid_2},那么 ${uid_#}(获取总数),也就是循环数据库内获取结果的总数。

5、添加计数器

(1)在循环控制器内添加计数器

(2)计数器填写

Starting value:起始值

Increment:递增数

Maximum value:最大限制值(咱们在循环控制器定义的 ${uid_#})

Exported Variable Name:引用名(索引值定义为一个变量 uid,引用名随意命名)

6、添加http request

(1)添加请求

(2)、填写请求参数

涂红的地方填写自己的请求方式,主要质疑params的传参方式,如下:

{“uid”: ${_V(uid ${uid})}, “type”: 0}

uid的传参为什么写成${_V(uid ${uid})},(注意参数没有空格,这个参数有空格是因为csdn输入 $ 字符会显示一堆参数导致)下方解析:

嵌套拼接常用方法:

${_V{变量a ${变量b}}}( ${__V} 固定写法)

第一个变量a是在循环器内定义的${uid_#}

第二个变量b是那个#号,#也是一个变量总数,因为我们在上方计数器内的引用名定义为了uid,因此引用名就是该#作为第几个传递进去。循环器循环第一次,那么#=1,那么就是 ${uid_1}取第一个值,第一个值取完后,进行再次循环。第二次循环#=2,那么就是 ${uid_2},以此类推。

本文地址:https://blog.csdn.net/zhouzongxin94/article/details/109636964

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值