Jmeter-从数据库中获取数据并作为变量使用

Posted shelly7

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jmeter-从数据库中获取数据并作为变量使用相关的知识,希望对你有一定的参考价值。

一、导入数据库驱动包;

  (1)、在网上搜索下载数据库驱动包(mysql的地址https://dev.mysql.com/downloads/file/?id=480090)

  (2)、解压,获取到jar包,并将其复制到Jmeter的安装路径下的\\lib文件夹下面;重启Jmeter就已经成功导入了;

  技术图片

  技术图片  

  

 二、添加【JDBC Connection Configuration】(选中【线程组】右键-->>添加-->>配置元件-->>JDBC Connection Configuration);

  (1)、【Variable Name】:数据库连接池的变量名,最好填写一个有实际意义的名称,后面JDBC request调用需要使用;

  (2)、Connection pool Configuration:数据库连接池配置,可以直接使用数据库默认的即可;

  (3)、Database Connection Configuration:数据库连接配置,需要根据实际数据库部署情况配置,

    a、【Database URL】:jdbc:mysql://hostname:port/sid 前面的  “  jdbc:mysql://  ”  部分是固定的,后面的 ” hostname:port/sid “ 根据实际配置(例如:jdbc:mysql://192.168.5.61:3306/oadata  ,“ 192.168.5.61 ”代表数据库所在的服务器地址(一般是IP),“ 3306 ”代表了端口,“ oadata ”表示数据库名称)

    b、【JDBC Driver class】:固定选择com.mysql.jdbc.Driver

    c、【Username】、【Password】:数据库用户名、数据库密码

技术图片

 

 三、添加【JDBC Request】(选中【线程组】右键-->>添加-->>Sample-->>JDBC Request

  (1)、Variable Name: 数据库连接池的名称,使用上个步骤【JDBC Connection Configuration】添加的名称;

  (2)、Query Type:SQL语句的类型;

    a、Select Statement(查询语句);

    b、Update Statement(update语句、insert语句、delete语句也使用这个);

    c、Callable Statement(存储过程)

  (3)、Parameter value:参数值(设置需要传入的SQL语句中的值,也可以用变量,直接读取csv文件的值)

  (4)、Parameter Types:参数类型(设置需要传入的SQL语句中的值的类型,要跟上面的参数保持一致,参数类型的填写可以参考:Javadoc for java.sql.Types)

  (5)、Variable names:变量名称,用于保存sql语句返回结果的变量名(如果返回字段为多个,使用英文逗号“,”进行分隔即可,系统将根据数据库返回的顺序分别赋值给对应变量,例如查询语句为:select userID,password,name from users limit 10  那么数据库返回时候为【10行3列】的数据,如果3行数据都需要保存,则Variable names可以填为【userID,password,name】,如果只需要userID,name,则需要填【userID,,name】***如果不需要存储某一列,也需要保留逗号***【userID_1】代表了查询结果userID的第一个值;【userID_N】代表了查询结果userID的第N个值;)

 

技术图片

四、添加【Debug Sampler】,(选中【线程组】右键-->>添加-->>Sample-->>Debug Sampler

这个没有实质意义,主要是测试时候检验数据库取值是否正常;(默认配置即可)

 技术图片

五、添加【循环控制器】(选中【线程组】右键-->>添加-->>逻辑控制器-->>循环控制器

填写${Variable names_#},代表每个循环次数等于从数据库中取出来的行数,如果直接填常量,则每个线程循环次数为一个常量(这里循环执行的只是控制器内的内容,控制器以外的,根据线程组设置调用)

技术图片

六、添加【计数器】(选中【逻辑控制器】右键-->>添加-->>配置元件-->>计数器

我们需要的值是根据【${变量名称_N}】来取的,这个N通过计数器递增的方式获取

技术图片

七、添加请求(选中【逻辑控制器】右键-->>添加-->>Sample-->>HTTP 请求)

这个只填写需要循环的循环体

 技术图片

八、函数助手的使用方式(打开选项-->>函数助手对话框

选择功能【_V】代表的是变量,选择功能之后,系统会带出函数参数的名称,在右边的值填上【JDBC Request中返回的变量get_user】跟【计数器中返回的应用名称N】来组合完成,中间使用下划线;

赋值完成之后,点击生成即可生成目标函数,赋值到请求中即可使用了;

具体功能选择,可以查看https://jmeter.apache.org/usermanual/functions.html

技术图片

 

以上是关于Jmeter-从数据库中获取数据并作为变量使用的主要内容,如果未能解决你的问题,请参考以下文章

Jmeter_从jdbc请求的响应中获取参数做关联

Jmeter变量嵌套的方法

jmeter sql返回值随机获取进行参数化

Jmeter请求响应后的数据截取特定数据并修改特定参数再下一请求中作为入参使用

Jmeter 04 Jmeter变量的使用

JMeter写入文件