jmeter-数据库提取数据并参数化

一、链接数据库

1.下载mysql驱动(mysql jdbc driver)下载地址:https://dev.mysql.com/downloads/connector/j/5.1.html
2.解压后将.jar驱动文件拷贝到jmeter安装目录lib文件夹下
3.创建"JDBC Connection Configuation" (配置元件→JDBC Connection Configuation)
image.png

参数说明:

  • Variable Name:数据库连接池的名称,名字可自定义,但是必须与* * JDBC Request中的Variable Name保持一致
  • Database URL:数据url jdbc:mysql://主机ip或者机器名称:mysql监听的端口号/数据库名称,例如:jdbc:mysql://localhost:3306/sqltest
  • JDBC Driiver class:JDBC驱动
  • Username:数据库登录的用户名
  • Password:数据库登录的密码

二、JDBC Request配置

1.创建 "JDBC Request"(Sampler→JDBC Request)
image.png
2.添加Debug Sampler,查看结果树,运行后查看
image.png
image.png

结果说明:

查询数据库表student,并将查询结果存放在变量中,可通过${id_#}来获取列表中的数据(例如:${id_1}获取第一列数据、${name_1获取第二列数据})

参数说明:

  • Variable Name:数据库连接池的名字,需要与JDBC Connection * * * Configuration 的 Variable Name Bound Pool 名字保持一致
  • SQL QUERY:多条sql语句,需要用“;”隔开
  • Select Statement:仅支持测试select语句,并且一次只能测试一条
  • Update Statement:支持测试费select语句,并且支持测试多条
    若中夹杂select语句,会自动忽略若第一条语句为select语句,则会报错
  • Callable Statement:语法正确,支持多条任何语句,如果需同时执行多条语句,JDBC Connection Configuration 中 Database URL,配置中加上?allowMultiQueries=true,否则报错(例如:jdbc:mysql://localhost:3306/sqltest?allowMultiQueries=true)
  • Parameter valus:参数值
  • Parameter types:参数类型,(例如:int char varchar等)
  • Variable names:保存sql语句返回结果变量名
  • Result variable name:创建一个对象变量,保存所有返回的结果
  • Query timeout:查询超时时间
  • Handle result set:定义如何处理由callable statements语句返回的结果

三、数据参数化

1.添加ForEach控制器(逻辑控制器→ForEach控制器)
image.png

参数说明:

  • 输入变量前缀:本例中为id(与JDBC Requse中的返回结果Variable names变量名一致)
  • Start index for loop (exclusive):循环开始的索引(默认从0开始,如果填写是2,实际是从2+1个开始执行)
  • End index for loop(inclusive):循环结束的索引
  • 输出变量名称:提供给其他控件引用,可自定义,调用时使用该参数
  • Add“-”before number:输入变量名称中是否使用-进行间隔。
2.添加JDBC Request
image.png
3.运行后查看
image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容