首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >高级性能测试系列《26. 从mysql中查询出数据写入sqlite中,再从sqlite中查询出数据写入txt文件中。》

高级性能测试系列《26. 从mysql中查询出数据写入sqlite中,再从sqlite中查询出数据写入txt文件中。》

作者头像
清菡
发布2022-12-02 21:51:38
3.8K0
发布2022-12-02 21:51:38
举报
文章被收录于专栏:清菡软件测试清菡软件测试

目录

  • 一、回顾
  • 二、DDT数据驱动性能测试:jmeter + sqlite
    • 1.csv\txt文件中的数据,怎么来的?
    • 2.保存响应到本地的txt文件。
    • 3.运行脚本,文件保存在jmeter的bin文件夹下。
    • 4.如何用sqlite内存关系型数据库?
  • 三、jdbc request:创建表。
  • 四、从mysql数据库中查询出数据,将查询到的数据写入sqlite数据库中。
  • 五、从sqlite数据库中查询出所有的数据,将数据写入txt文件中。

一、回顾

jdbc:

jar包:丢在jmeter的lib文件夹中。

jdbc conection configuration:连接池、URLdriverclassuserpassword

  • 不同的数据库,url地址写法不一样:
    • mysqljdbc:mysql://serverip:port/dbname
  • 不同的数据库的driver class也是不一样。
    • mysql5com.mysql.jdbc.Driver
    • mysql8com.mysql.cj.jdbc.Driver

二、DDT数据驱动性能测试:jmeter + sqlite

DDT数据驱动性能测试:csv\txt文件。

1.csv\txt文件中的数据,怎么来的?

  • 手工造。
  • 数据库导出。
    • 是否可以用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
    • user\password:不需要填写。

三、jdbc request:创建表。

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

图2:配置jdbc Connection Configuration。

query type:update statement

图2:配置jdbc request创建表。


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%20performance%20testing


文章中除标明“图片来自网络”的图片,皆为小编本人所画所截图,计算机知识都一样,如有雷同,纯属巧合。文章是清菡编写的,如有转载,请标明出处!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-07-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 清菡软件测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 目录
  • 一、回顾
    • jdbc:
    • 二、DDT数据驱动性能测试:jmeter + sqlite
      • 1.csv\txt文件中的数据,怎么来的?
        • 2.保存响应到本地的txt文件。
          • 3.运行脚本,文件保存在jmeter的bin文件夹下。
            • 4.如何用sqlite内存关系型数据库?
            • 三、jdbc request:创建表。
            • 四、从mysql数据库中查询出数据,将查询到的数据写入sqlite数据库中。
              • 1.最大值:mbs_#=100
                • 2.从mysql数据库中查询数据offset 1100:
                  • 3.将查询出的数据插入sqlite数据库中,点击运行:
                    • 4.从mysql数据库中查询数据offset 1200,再次点击运行:
                      • 5.运行结果:
                      • 五、从sqlite数据库中查询出所有的数据,将数据写入txt文件中。
                        • 从sqlite数据库中查询出所有的数据:
                          • 将数据写入txt文件中:
                            • 运行结果:
                              • 脚本链接:
                              • gitee地址:
                          相关产品与服务
                          数据库
                          云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
                          领券
                          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档