jmeter调用JDBC 请求,循环读取(循环控制器+计数器)数据库用户信息,传递参数请求

本文介绍了如何在JMeter中配置数据库连接,使用JDBC请求进行数据操作,添加循环控制器和计数器实现动态变量,利用正则表达式提取接口返回结果并进行响应断言,以及设置同步定时器来实现并发测试。此外,还讲解了如何处理变量嵌套和提取登录token。
摘要由CSDN通过智能技术生成
  1. 连接数据库

添加配置元件 > JDBC Connection Configuration

ps:需要安装这个包至C:\apache-jmeter-5.5\lib (jmrter所在的lib目录下面才可连接)

mysql-connector-java-8.0.30.jar

  1. 添加jdbc request 请求

添加取样器 > jdbc request

  1. 添加循环控制器

后置处理器 > 循环控制器

  1. 添加计数器

配置原件 > 计数器

引用名称: i 这里的i是下面嵌套调用的变量

  1. 添加http request 请求,登录为列

  • ps:__V:变量中嵌套另一个变量时,需要该函数

  • Jmeter中__V是用于执行变量名表达式,变量名里面嵌套另一个变量。正常变量的引用 ${变量名},但是当变量名称也需要动态读取时,例如:一个变量 ${u_i},但是i是个变量,可能的取值为1, 2, 3,如果${u_${i}},Jmeter会报错,因为Jmeter 本身是不支持嵌套函数的。正确的做法是使用__V函数,正确写法:${_V(u_${i})}。

  • ${u_${i}},是使用__V函数后,最外面的${}要去掉,${__V()}就相当于最外层的${} 如果直接使用该表达式,返回接口时空,因为表达式中,后面是空,是默认值,所以我们需要将表达式中的,去掉,才能返回表达式的值。删除逗号后:${_V(u_${i})}

  1. 用正则表达式提取接口返回的结果,将结果赋给变量actual_result

也可以用json提取$..msg,我这用的正则

  • 正则提取式: 左边界(正则式)右边界 万能正则式------ .*?

  • "msg":" ---左边界 “ -----右边界 (.*?)贪婪匹配

  1. 增加响应断言,判断接口返回的结果,与你数据库中保存的期望结果是否一致

  1. 提取登录token,为后面需要token的接口调用

  1. 添加同步定时器Synchronizing Timer

ps:

  • Number of Simulated Users to Group by:设置同步的线程数量。当设置为0时,等同于线程组中设置的用户数量,当设置为20时,即当用户达到20时同时释放,当设置的数量大于线程数时,设置无效(数量不可设置为大于线程组中的线程数)。

  • Timeout in milliseconds:超时时间,单位为毫秒。当设置为0时,即当用户数量达到了设置的数量时则释放,否则一直等待,当设置为300毫秒时,则当时间达到300毫秒时,就释放已经集合的线程,不再等待。

  • 用来保证我们的取样器在同一时刻向服务器发起负载测试

  • 同步定时器设置的20个请求同步,所以前面的线程数大于等20就可以了;

  • 定时器中模拟用户数量为20个,超市为0,每次产生20个线程,就立即释放

  • 添加同步定时器,为的就是20个登录/量化金额的请求时间是一样,就实现了20个并发

  1. 添加信息头管理和请求默认值

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值