Jmeter 获取数据库值并作为参数请求

参考文档:https://www.cnblogs.com/mawenqiangios/p/11088672.html

1 添加JDBC Connection Configuration

1.1 添加数据库连接配置:“Add-Config Element-JDBC Connection Configuration”

在这里插入图片描述

1.2 配置数据库连接信息

DataBase URL
jdbc:mysql://111.230.93.155:3306/dataname?useUnicode=true&characterEncoding=utf-8
1)111.230.93.155:3306为数据库的地址和端口号;dataname为数据库名
2)useUnicode=true&characterEncoding=utf-8 指定字符的编码解码格式utf-8
JDBC Driver Class :com.mysql.jdbc.Driver 此为mysql数据库的驱动
Username: 数据库的登录用户名
Password: 数据库的密码
在这里插入图片描述

1.3 导入mysql驱动包(可忽略)

下载好mysql的驱动包(mysql-connector-java-5.1.7-bin.jar),
放到jmeter的lib目录下:E:\apache-jmeter-5.3\apache-jmeter-5.3\lib
选中测试计划,添加mysql驱动包
在这里插入图片描述

2 添加JDBC Request并设置变量

2.1 添加JDBC请求:“Add-Sampler-JDBC Request”,并配置请求

在这里插入图片描述
在这里插入图片描述

2.2 添加Debug PostProcessor用于查看变量token值的获取(此步用于调试,可忽略)在这里插入图片描述
2.3 添加查看结果树查看运行结果:

在这里插入图片描述
运行后得到以下结果,说明jmeter发起的jdbc请求及变量设置正常。
在这里插入图片描述
在这里插入图片描述

3 循环读取库的信息,并参数化给之后的请求引用

实现循环读取库的信息,并传递到下一级HTTP Request请求

3.1 添加ForEach控制器(右键线程组–>逻辑控制器–>ForEach控制器),并先尝试如下设置

在这里插入图片描述
在这里插入图片描述
输入变量的前缀:token
从之前的jdbc request设置的变量得知,我们要取的值为token_1、token_2、token_3…,所以这里输入token
Start index for loop:0
变量循环启动的索引,第一个元素起始索引+1
End index for loop:${token_#},从2.2运行结果可以看到token_#=20;
变量循环结束的索引。
所以这里是取值token_1、token_2、…、token_20
输出的变量名称:token
用于替换循环下的请求的变量,注意打√

3.2 在ForEach控制器下添加HTTP Request请求

注意此处需要在ForEach控制器下添加,与ForEach同等级节点不支持循环取值(只能取第1个)
在这里插入图片描述
在这里插入图片描述

此例中HTTP Request并没有直接用到token,而是将token放到HTTP Header Manager中引用;

3.3 引用ForEach控制器的输出变量,此处引用放在header中,HTTP Header Manager可以不放在ForEach控制器下方:

在这里插入图片描述执行结果如下,自动取数据库中20条记录运行,并请求成功:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
此时Thread Group设置如下:
在这里插入图片描述

4 Thread Group设置

在这里插入图片描述
在这里插入图片描述
以上2种设置结果一样,取数据库中20条记录,循环2次,结果运行40次;如果线程数和循环都设置2,则运行80次。

其他方法:获取数据库的值

1 添加JDBC PostProcessor (所处位置不重要)
在这里插入图片描述
在这里插入图片描述
运行结果:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值