1. JDBC Request

  这个Sampler可以向数据库发送一个jdbc请求(sql语句),并获取返回的数据库数据进行操作。它经常需要和JDBC Connection Configuration配置原件(配置数据库连接的相关属性,如连接名、密码等)一起使用。

2. 测试数据准备

3. JDBC Connection Configuration 配置

4.参数化

在测试计划中声明的变量,在sql语句中通过${stu_id} 取值。
sql语句中的占位符?, 通过Paramter values 赋值 和 Paramter types 指定值的类型。

JDBC Request 参数说明:

Variable Name:数据库连接池的名字,需要与JDBC Connection Configuration的Variable Name Bound Pool名字保持一致
Query:填写的sql语句未尾不要加“;”
Parameter valus:参数值
Parameter types:参数类型,可参考:Javadoc for java.sql.Types
Variable names:保存sql语句返回结果的变量名
Result variable name:创建一个对象变量,保存所有返回的结果
Query timeout:查询超时时间
Handle result set:定义如何处理由callable statements语句返回的结果

5. 添加jar ,执行请求

使用不同的数据库,我们需要引入不同的jar包。

方式1:直接将jar包复制到jmeter的lib目录

mysql数据库:无需引入其他数据库驱动jar包。
sql server 数据库:下载sqljdbc4.jar 放到 jmeter根目录的lib目录下
oracle数据库:将oracle数据的安装目录下面的\product\10.2.0\db_1\jdbc\lib\ojdbc14.jar 放到jmeter根目录下的lib目录下

方式2:通过测试计划
如果不使用将jar复制到jmeter的lib目录的方式,还可以使用Jmeter的测试计划引入相应的jar包

执行结果:

6. Variable names 的使用

  jmeter官网给的解释是:如果给这个参数设置了值,它会保存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}...来获取相应的值。
1
1、再添加一个”Debug Sampler“用来查看输出的结果,设置 variables name为column1,column2,column3:

执行结果:

column1代表第一列所有的数据,column1_#可以获取到第一列的行数

column1_n:获得第一列第n行的数据。

column2和column3的功能类似, 假如我们只需要第一列和第三列的数据,可以写成column1,,column3,中间的”,”不可以省略。

取variables name中参数名称为column1的第2个值,即第一列的第2行取值。
即:column1_2

执行结果:

7.Result variable name 的使用

如果给这个参数设置值,它会创建一个对象变量,保存所有返回的结果,获取具体值的方法:columnValue = vars.getObject(“resultObject”).get(0).get(“Column Name”)

执行结果:

---------------------
作者:黑咖啡13
来源:CSDN
原文:https://blog.csdn.net/u012167045/article/details/72638507
版权声明:本文为博主原创文章,转载请附上博文链接!

最新文章

  1. what do i get for?
  2. 使用变量 数据类型转换 逻辑控制语句(begin ...end; case...end; if...else; while)
  3. BZOJ 1123: [POI2008]BLO
  4. linux 挂载命令详解
  5. js中RGB转hex
  6. GIT 代码管理工具 SourceTree
  7. AndroidAsyncHttp 临时修复 JsonHttpResponseHandler 避免死循环
  8. css常用技巧集合
  9. jquery.validata.js 插件
  10. 【BZOJ4556】字符串(后缀数组,主席树)
  11. Testlink1.7.5安装部署
  12. CAN自收自发问题小结
  13. MDK编译器内存分配
  14. 【XSY1596】旅行 期望DP
  15. 启动elasticsearch报错
  16. Go语言实践_实现一(客户端)对一(服务器端)聊天室
  17. int, bool, string的操作
  18. C++ 指针二维数组, C++二维指针数组笔记
  19. Luogu 3245 大数
  20. linux——Shell编程基础

热门文章

  1. 在ubuntu环境安装youcompleteme
  2. 分享知识-快乐自己:SpringMvc后台Date对象数据 到 前台页面的显示转换
  3. 第十四章-MySQL
  4. 网络编程学习笔记-TCP拥塞控制机制
  5. linux命令学习笔记(25):linux文件属性详解
  6. [Android Studio] Android Studio快速定位当前打开的文件在哪个目录(package)下
  7. arm裸机程序启动流程
  8. Jasper:推送 API
  9. [poj2891]Strange Way to Express Integers(扩展中国剩余定理)
  10. ASP.NET Core分布式项目实战