微信号:TesterTalk

介绍:专注软件测试技术分享,包括不限于Web 测试,Mobile测试,API测试,自动化测试,性能测试知识/方法, 以及软件测试职位推荐.

Jmeter 运用JDBC连接数据库

2016-08-04 19:42 iTesting

点击上方蓝色「iTesting」关注本公众号

上次我们讲了如何利用User Parameters来使用外部Json文件,今天我们讲下一个知识点:如何使用Jmeter连接数据库并且验证数据?

仍以我们之前的例子来说,最后教师给学生打分完毕后,会有一条数据存在数据库中,那么我们就需要去验证这个数据。

1. 下载最新的JDBC Driver:

              下载最新的JDBC Driver(我们以SQL SERVER为例)

https://msdn.microsoft.com/en-us/library/mt683464.aspx

解压并copy你需要的jar 文件到 jmeter/lib 目录 (重启后生效)

2. 选中你需的Test plan, 把jar文件引入:


3. 右键Thread Group->Add->Config Element->JDBC Connection Configuration

4. 配置如下:

Variable Name:  写个名字,这个名字后面JDBC Request要用。

Database URL:  jdbc:sqlserver://localhost:port;DatabaseName=mydb;  (localhost,port,mydb自行替换)

JDBC Driver Class: com.microsoft.sqlserver.jdbc.SQLServerDriver

Username:数据库连接用户名

Password: 数据库连接密码

5. 在ThreadGroup上右键,Add->Sampler->JDBC Request:

6. 配置如下:


Variable Name Bound to Pool:配置成与JDBC Connection Configuration里一样的值。

SQL Query

                      QueryType:看自己需求选择(本例用Prepared Select Statement)。

                       下面input text就填写自己需要的SQl语句。其中“?”代表变量,它的值定义在Parameter values里, 如果有多个,用逗号隔开。

Parameter values:SQL 语句里?对应的变量,如果有多个,名称以逗号隔开。

Parameter types:INTEGER, DATE, VARCHAR, DOUBLE

Variable names: 这个参数用来保存Select 语句返回的值。引用方法参考下扩展阅读。

Result variable name:创建一个对象变量,保存所有返回的结果

6.       配置好后,run一下看结果:

All passed.


扩展知识:

Variable names:

如果给这个参数设置了值,它会保存sql语句返回的数据和返回数据的总行数。假如,sql语句返回2行,3列,且variables names设置为A,,C,那么如下变量会被设置为:

  A_#=2 (总行数)
  A_1=第1列, 第1行
  A_2=第1列, 第2行 
  C_#=2 (总行数) 
  C_1=第3列, 第1行
  C_2=第3列, 第2行

 如果返回结果为0,那么A_#和C_#会被设置为0,其它变量不会设置值。

 如果第一次返回6行数据,第二次只返回3行数据,那么第一次那多的3行数据变量会被清除。

 可以使用${A_#}、${A_1}...来获取相应的值


END


关于iTesting

欢迎关注 iTesting. 
iTesting致力于软件测试技术分享, 包括不限于 Web测试, Mobile测试, API测试, 性能测试以及测试职位推荐.


长按下图二维码,在弹出菜单中选择“识别图中二维码”关注本公众号.


更多内容,敬请期待





 
iTesting 更多文章 Punit详解 Python统计列表重复项 Python 求List的交集,并集,差集. Python字典Dict总结 WebService自动化 -- 浅谈WSDL调用
猜您喜欢 很棒的R语言回归模型和方差模型 【CDAS 2016】黄东旭:分布式数据库模式与反模式 如何诊断 Java 中的内存泄露 令PHP初学者的困惑的10个知识点 Docker CTO Solomon:按你的方式去做