【接口/性能】JMeter05 - 连接SQLite数据库

之前试过将输入数据参数化从cvs读入,然后想到如果改为从数据库读数据呢,或者是连接数据库进行压力测试应该怎么做呢。

一般做服务器压力测试时JMeter是直接在服务器下运行,避免网络环境对响应时间测试结果的影响。考虑到我不能在服务器下乱来。。。所以在自己电脑上弄个数据库来试下。这里使用SQLite,轻量级,比较简单。

一、SQLite3创建数据库,创建表,及测试中需要用到的数据

mac下是自带的,windows下应该也是,在终端输入sqlite3可以查看。输入sqlite3+数据库名字可直接进入该数据库。接着创建表,及等下需要用到的四组数据。

用select from查看数据时,发现这样显示看的超级不方便。可以通过以下红框中命令来更改下查看格式。

二、JMeter连接sqlite

首先要下载sqlite jdbc(Java Data Base Connectivity,java数据库连接)jar包。网上好多jmeter连接数据库的都是用的mysql....这个sqlite的最后终于被我找到了....链接如下:https://bitbucket.org/xerial/sqlite-jdbc/downloads/ 

下载后放到jmeter/lib目录下就可以了。JMeter中测试计划添加jar包路径(应该是,如果放到jmeter/lib目录下这里就不用添加了~)。

添加JDBC Connection Configuration,对数据库连接进行设置。Database URL那里相当于告诉jmeter去连接哪个数据库。

这里用sqlite创建的数据库是没有username和password的,所以留空。如果用mysql一般会设置一下,填入就好了。

然后添加JDBC Request。Variable Name与JDBC Connection Configuration中保持一致就好。

写下向数据库请求数据的语句:select * from MEASURE。这里MEASURE是之前在数据库test.db下创建的表名。

在Result variable name中设置,数据库返回结果保存在这个对象中。

三、获取数据库返回结果并作为下一个接口的请求参数

这里用到后置处理器BeanShell,代码将数据保存在参数中,见图。

measureObj为上个图中保存数据库数据的对象。

接口中请求参数填写时使用${}格式。

可以看到JDBC请求的返回数据的第一行数据如下。


再看下测试接口请求中的入参。数据一致!说明成功的将数据库获取的数据参数化,并在下一个接口的入参中用到。

四、遗留疑难杂症

这里只将数据库的一行数据参数化了。但是数据库里有4行.......还没弄明白怎么在每一次循环(即每一次测试该业务接口)时,用到数据库获取的不同行的数据......先把这个问题在这MARK下=。=

结束~

加油~


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 使用的过程根据使用的函数大致分为如下几个过程: sqlite3_open() sqlite3_prepare() ...
    随风飘荡的小逗逼阅读 6,732评论 0 3
  • 文章目录: sqlite3 基础语句 sqlite3 API sqlite3 线程安全 FMDB 基础语句: 创建...
    abb266389fd0阅读 5,696评论 2 20
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,455评论 25 708
  • 文/孤鸟差鱼 爱不爱 请便 恨不恨 也请便 一天会多过一天 一夜会多过一夜 一年会多过一年
    孤鸟差鱼阅读 470评论 0 3
  • 一老太监在冬天看见纪晓岚穿着皮衣,手执小扇, 感到十分可笑 ,遂说 :“小翰林,穿冬衣, 执夏扇 ,一部春秋可读否...
    唐诗0525阅读 293评论 0 0