JMeter连接orcale数据库,从orcale数据库中获取测试参数

项目测试过程中遇到需要连接Oracle数据库获取测试参数的场景,测试过程中遇到2个小问题:

1.如何使用jmeter访问orcale数据库;

2.实际压测过程中,为了节省资源,如何控制jmeter获取参数的过程只执行1次,后续是循环使用从Oracle数据库中获取的参数进行业务场景的压测。

本文是基于解决以上2个项目过程中真实问题进行阐述,记录问题的解决过程。

1. 安装插件

下载插件:https://download.csdn.net/download/laofashi2015/11974089

将该Oracle插件放在jmeter安装路径下的lib目录中,重启jmeter。

2.创建测试计划

2.1创建仅一次控制器--控制仅请求1次数据库

1.测试计划--(右键)-->添加.线程组

2.线程组--(右键)-->添加.逻辑控制器--->仅一次控制器;(敲黑板,此处如果不嵌套该控制器,执行时会不断向数据库发起请求连接,会造成不必要的资源浪费。我们执行时只希望请求一次数据库,获取到参数后进行参数化,循环读取参数化中的数据进行业务测试。)

3.仅一次控制器--(右键)-->添加.配置元件--->JDBC Connection Configuration,添加数据库信息

4.仅一次控制器--(右键)-->添加.Sampler--->JDBC Request,添加数据库请求信息(Variable Name和JDBC Connection Configuration中定义的Variable Name值相同),定义变量名:conPresentationId;

5.查看数据库查询结果:

2.2创建循环控制器

1.线程组--(右键)-->添加.配置元件-->HTTP信息头管理器,此处不再赘述

2.线程组--(右键)-->添加.逻辑控制器--->循环控制器,此处控制循环读取从Oracle数据库中获取的参数;

3.循环控制器---(右键)-->添加.配置元件--->计数器,计数器允许用户配置一个起点,一个最大值,增量数,循环到最大值,然后重新开始,继续这样,直到测试结束。

4.循环控制器---(右键)-->添加.配置元件--->HTTP请求,请求中需要引用JDBC Request中定义的变量名,${__V(conPresentationId_${N})};

5.线程组--(右键)-->添加.监听器---->查看结果树

6.执行测试计划,通过查看结果树可以看出,该测试计划已经实现了1次请求数据库,获取数据库参数;从数据库中获取的参数通过参数化的方式循环应用到http请求中。

猜你喜欢

转载自blog.csdn.net/laofashi2015/article/details/103014044