目录
- 一、回顾
- 二、DDT数据驱动性能测试:
jmeter sqlite- 1.csvtxt文件中的数据,怎么来的?
- 2.保存响应到本地的txt文件。
- 3.运行脚本,文件保存在jmeter的bin文件夹下。
- 4.如何用sqlite内存关系型数据库?
- 三、
jdbc request:创建表。 - 四、从mysql数据库中查询出数据,将查询到的数据写入sqlite数据库中。
- 五、从sqlite数据库中查询出所有的数据,将数据写入txt文件中。
一、回顾
jdbc:
jar包:丢在jmeter的lib文件夹中。
jdbc conection configuration:连接池、URL、driverclass、 user、password。
- 不同的数据库,
url地址写法不一样:mysql:jdbc:mysql://serverip:port/dbname。
- 不同的数据库的
driver class也是不一样。mysql5:com.mysql.jdbc.Driver。mysql8:com.mysql.cj.jdbc.Driver。
二、DDT数据驱动性能测试:jmeter sqlite
DDT数据驱动性能测试:csvtxt文件。
1.csvtxt文件中的数据,怎么来的?
- 手工造。
- 数据库导出。
- 是否可以用jmeter把数据库中的数据导出来。
- 性能测试环境的数据库中,已经有一批账号,我想把用户表中的账号导出。
- 使用jmeter导出数据库中的数据。
- jdbc request:查询数据。
SELECT id,mobile,gqid, token FROM cb_account
where `password` = 'e10adc3949ba59abbe56e057f20f883e' AND LENGTH(mobile)=11
LIMIT 100 OFFSET 1100
2.保存响应到本地的txt文件。
- 填写文件名称前缀。
- 勾选:
Don't add number to prefix。不要加数字前缀。 - 勾选:
Don't add content type suffix。不要加类型后缀。
3.运行脚本,文件保存在jmeter的bin文件夹下。

图1:配置jdbc Connection Configuration。

图1:配置jdbc request查询数据。

图1:配置线程组:一个线程,循环2次。

图1:保存响应到txt文件。

图1:运行结果。

图1:运行结果:sava100user.txt。
现在遇到一个问题,就是反复执行,都是覆盖原来的文件,永远都只得到1份数据。没有把多次请求的数据合并,想要得到多次数据的合并的结果,还需要手工去弄。
4.如何用sqlite内存关系型数据库?
用sqlite内存关系型数据库,不需要自己去安装(有图形界面的操作系统有浏览器,就默认已经安装了这个sqlite数据库了)。
sqlite的jar包,下载地址:https://mvnrepository.com/artifact/org.xerial/sqlite-jdbc/3.31.1,放到jmeter的lib文件夹,重启jmeter。
- Connection Configuration:
- pool:自己定义个名称。
- url:
jdbc:sqlite:自定义一个dbfile文件名.db - class:
org.sqlite.JDBC。 - userpassword:不需要填写。
三、jdbc request:创建表。

图2:setup线程组:1个线程,循环次数是1。

图2:配置jdbc Connection Configuration。
query type:update statement

图2:配置jdbc request创建表。
代码语言:javascript复制
create table if not exists 'kyj_user'(
id TEXT,
mobile TEXT,
gqid TEXT,
token TEXT
)

图2:运行结果。
脚本执行之后,发现在jmeter的bin文件夹下面有一个db文件。
四、从mysql数据库中查询出数据,将查询到的数据写入sqlite数据库中。
1.最大值:mbs_#=100

图3:最大值。

图3:配置计数器。

图3:配置循环控制器。

图3:v函数。
2.从mysql数据库中查询数据offset 1100:
query type:select statement

图3:配置select_kyj_100:offset 1100。
3.将查询出的数据插入sqlite数据库中,点击运行:

图3:配置insertsqlite。
4.从mysql数据库中查询数据offset 1200,再次点击运行:

图3:配置jdbc request:offset 1200。
5.运行结果:

图3:运行结果为200条数据。
五、从sqlite数据库中查询出所有的数据,将数据写入txt文件中。

图4:从mysql数据库中查询数据offset 1300

图4:teardown线程组:1个线程,循环次数是1。
从sqlite数据库中查询出所有的数据:

图4:配置selectsqlite。
将数据写入txt文件中:

图4:保存响应到文件。
运行结果:

图4:运行结果:300条数据。
脚本链接:
gitee地址:
https://gitee.com/qinghanstudy/gaojixingneng/tree/master/Advanced performance testing
文章中除标明“图片来自网络”的图片,皆为小编本人所画所截图,计算机知识都一样,如有雷同,纯属巧合。文章是清菡编写的,如有转载,请标明出处!


