美文网首页Apache JMeter百人计划
【接口/性能】JMeter05 - 连接SQLite数据库

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

作者: JOooo_ | 来源:发表于2017-05-26 16:21 被阅读65次

之前试过将输入数据参数化从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下=。=

结束~

加油~


相关文章

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

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

  • 数据库连接池

    使用数据库连接池优化程序性能 编写数据库连接池 编写连接池需事先java.sql.DataSource接口。Dat...

  • sqlite3学习笔记

    c语言 API接口 打开数据库 sqlite3_open_v2() 、sqlite3_open() 、sqlite...

  • python sqlalchemy模块使用

    sqlalchemy可连接多种数据库sqlite、oracle、mysql等,以下为sqlite举例:

  • iOS 开发之 SQLite 数据库使用

    iOS 常用 SQLite 数据库存储数据,工程中需要引入 sqlite3 库。SQLite 提供 C 接口以供调...

  • golang数据库操作之gorm

    gorm快速上手 Quick start 数据库连接 1.Sqlite数据库 2.MySQL数据库 数据库连接字符...

  • SQLite 分离数据库

    SQLite 分离数据库 SQLite的 DETACH DTABASE 语句是用来把命名数据库从一个数据库连接分离...

  • 2. Navicat的基本使用

    Navicat的基本使用 创建数据库连接连接 -> SQLite -> GeneralConnection Nam...

  • python连接sqlite3

    import sqlite3#查询def load(table):#连接数据库con = sqlite3.conn...

  • iOS 数据库-WCDB

    WCDB —— 高性能易用的 SQLite 面向对象组件 WCDB 是基于 SQLite 的数据库封装,他简单易用...

网友评论

    本文标题:【接口/性能】JMeter05 - 连接SQLite数据库

    本文链接:https://www.haomeiwen.com/subject/hqqxfxtx.html