jmeter 计数器与mysql_JMeter从数据库中获取数据并作为变量使用

本文介绍了如何在JMeter中连接MySQL数据库,配置JDBC Connection Configuration,执行查询并引用查询结果。通过示例展示了单值引用和多值引用的实现方式,包括使用计数器自动增长引用和统计查询结果数量。
摘要由CSDN通过智能技术生成

JMeter如何从数据库中获取数据并作为变量使用?这在我们使用JMeter做接口测试、压力测试时经常碰到,今天通过两个示例(实现MySQL数据库的查询结果的单值引用和多值引用)进行说明。这里虽然以MySQL数据库做说明,但实际其他数据库连接使用与之类似。

1、JMeter连接MySQL数据库

首先得下载mysql jdbc驱动包 mysql-connector-java.jar(注:驱动包的版本一定要与你数据库的版本匹配,驱动版本低于MySQL版本有可能会导致连接失败报错)。把该jar放置于 [JMeter安装目录]/lib 下

21cc32db3df5731db5bbe7458087e995.png

也可以在 测试计划 中,通过 Add directory or jar to classpath 添加 mysql jdbc 驱动包

7f3d83e9a223025d9aa839be95d5355c.png

2、线程组下新建一个 JDBC Connection Configuration 配置元件

详细配置如下图:

57eb17e37d20b0b55987c0492feee2eb.png

配置说明(红色框内为需要配置的值,其他保持默认即可):

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

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

Database URL:jdbc:mysql://host:数据库端口/数据库名称

注意:

①host可以为域名或IP地址,如果后面不填入端口,则默认端口为3306;

②之所以在数据库名称后加入 ?allowMultiQueries=true ,是为了在JDBC Request中支持多条SQL操作,如要执行多条select、或update等SQL操作。

JDBC Driver class:因为连接MySQL数据库,所以选择 com.mysql.jdbc.Driver

常见数据库Database URL 和 JDBC Driver class配置如下

881464af7e2c1c7df551da388812dd97.png

Username和 Password:为数据库的用户名和密码。

3、实现数据库的查询-单值引用

1)在 简单控制器 添加Sampler JDBC Request,并添加监听器 查看结果树方便查看执行结果。

d2fc1e8e9bb7ebdd8125b213633e329d.png

JDBC Request说明:

①填写 基础配置(即JDBC Connection Configuration) 里的变量,保持一致即可;

②查询类型选择:Select Statement;

③查询语句,根据实际需求填写;

④查询结果值引用变量,随意填写,能表达字段意思即可。

2)执行查询动作

9a066be926438a1790c65113eb6d443c.png

3)查询结果值引用

我们查询数据库的目的是为了引用查询的结果,即:testui,admin,Eva_208,Eva_208,Eva_208,Eva_208,Eva_208,Eva_208

引用第1个变量(有多少条查询结果,即有多少个变量)

86144c246bdde4b8b43733996d82b0f0.png

说明:

①引用变量的方法,${变量名_数字} ,这里的数字为查询结果的第几条记录数,以 1开头,这里引用第一个则为: ${author_1}

61496ed2f30e27dcf68b793842a8be97.png

引用第2个变量

aedb00da60325cf31d1d14e409815fb5.png

ac1177a2b95f8e3adff966edbf09c576.png

发现这样每次引用变量都要修改一下数字,不是很方便,有没有自动增长的引用方法呢?

解决办法:添加 计数器(选中 [ 逻辑控制器 ] 右键->添加->配置元件->计数器),我们需要的值是根据 ${变量名称_N} 来取的,这个N通过计数器递增的方式获取。具体用法,参考JMeter专题后续文章。

4)统计查询结果数量

f0337a9a2c3fdb5fce3357259bda3238.png

说明:

①查询结果数量统计,${变量名_#}。要统计author的结果数量,所以为:${author_#}

77243461ade4ad0a76daf889b350160b.png

4、实现数据库的查询-多值引用

1)查询结果存在多个字段时,值怎么引用

c945fa9b1030339879f3f275f3f7c373.png

2)引用方法

a2557710a7fec457b1ae8b4f105ad28c.png

说明:

①引用方法一样,${变量名_数字},如:${author_1} ,${fid_1};

②多个变量之间,用英文逗号 ,分隔。

3)查询结果

0a6adece678dc960a348be3cbcd94a28.png

说明:

①引用的是第二行的,第一列的第二个值和第2列的第一个值;

②打印结果与数据库查询结果一致;

本文由51ste.com网友编辑,未经授权,不得转载使用上述作品盈利;个人转载,需标明作者及出处。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值