目录
- 一、回顾
- 二、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
文章中除标明“图片来自网络”的图片,皆为小编本人所画所截图,计算机知识都一样,如有雷同,纯属巧合。文章是清菡编写的,如有转载,请标明出处!