51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 275|回复: 1
打印 上一主题 下一主题

[求助] Jmeter、postman、python 三大主流技术如何操作数据库?

[复制链接]
  • TA的每日心情
    无聊
    2024-3-1 09:27
  • 签到天数: 43 天

    连续签到: 2 天

    [LV.5]测试团长

    跳转到指定楼层
    1#
    发表于 2024-1-22 13:14:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    本帖最后由 海上孤帆 于 2024-1-22 13:16 编辑

    1、前言
    只要是做测试工作的,必然会接触到数据库,数据库在工作中的主要应用场景包括但不限于以下:
    • 功能测试中,涉及数据展示功能,需查库校验数据正确及完整性;例如商品搜索功能
    • 自动化测试或性能测试中,某些接口要跑通,需要关联到数据库操作;例如注册接口中短信验证码获取
    • 自动化测试中断言处理,除了响应结果的断言,还包括到数据库断言
    • 自动化测试或性能测试中,某些场景需批量造数据,可能需要用到数据库造数据
    • 测试中,发现bug,需定位bug,可能需要查询到数据库进行定位

    当我们利用Jmeter或postman工具进行接口测试,又或者利用python去进行自动化测试,比如商品搜索功能,需查库校验搜索商品结果的正确完整性,去实现断言。这里涉及到数据库如何操作呢?

    2、Jmeter如何操作数据库?第一步:通过JDBC Connection Configuration,建立数据库连接
    在Jmeter线程组下右键->配置元件->选择 JDBC Connection Configuration,做如下配置
    **注意:**jmeter工具去操作数据库不带驱动,需要自己添加驱动jar包,下载一个,并放到jmeter的lib目录下,然后点开测试计划,添加jar包路径。如下:


    第二步:通过JDBC Request编写sql语句操作数据库,获取数据
    在Jmeter线程组下右键->取样器->选择 JDBC Request,做如下配置:
    点击运行,可以正常看到搜索结果:

    3、postman如何操作数据库?
    postman本身没有数据库连接功能,需要用到node.js中的xmysql实现Rest API生成,再利用postman去对API进行请求,实现对数据库的操作。
    第一步:环境准备,安装xmysql
    1、node.js的安装:访问https://nodejs.org/en/download 进行下载并安装。安装成功后,在cmd命令行窗口输入node --verison,出现版本信息则表示安装成功。
    2、xmysql的安装:在命令行窗口输入npm install -g xmysql 即可进行安装。安装完成后,输入xmysql 看到使用说明,则说明安装成功。
    第二步:连接数据库
    命令行窗口输入:xmysql -h 主机名 -u 用户名 -p 密码 -d 库名。如下:
    第三步:postman操作数据库
    示例如下:
    postman查询数据操作如下:

    4、python如何操作数据库?第1步:环境准备,安装pymysql
    python中操作mysql数据库,需借助第三方库例pymysql来实现。所以需要先安装pymysql:
    通过cmd命令行窗口输入pip install pymysql。安装后,通过pip show pymysql 检测是否安装成功。显示pymysql库信息则成功。
    第2步:python文件中,编写代码操作数据库
    1. <font size="3">import pymysql   # 导包

    2. # 第1步:连接数据库
    3. conn = pymysql.connect(
    4.     user="shopxo",  # 用户名
    5.     password="lemfix",  # 密码
    6.     host="spx.lemfix.com",  # 数据库的域名或ip
    7.     database="shopxo",  # 库名
    8.     port=3306,  # 端口
    9.     charset="utf8mb4",  # 编码
    10. )


    11. # 第2步:创建游标
    12. cur = conn.cursor()


    13. # 第3步:执行sql语句 - 查询
    14. # cur.execute(sql语句),返回值为执行sql影响到的行数
    15. row_count = cur.execute("select id, title, price from sxo_goods where is_shelves = 1 and title like '%连衣裙%' and is_delete_time = 0 order by access_count desc,sales_count desc;")
    16. print(row_count)

    17. # 第4步:获取查询数据
    18. search_data = cur.fetchall()
    19. print(search_data)

    20. # 第5,关闭数据库连接,释放资源
    21. cur.close()
    22. conn.close()
    23. </font>
    复制代码
    运行以上代码,得到数据库查询结果如下:
    5、总结
    以上的操作仅仅只是数据库连接及查询操作的演示,一个完整的项目,还需结合业务场景,去对应设计脚本或编写代码。大家可在此基础上,结合自己项目情况,进行拓展。
    学无止境,行以致远。


    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

  • TA的每日心情
    开心
    5 小时前
  • 签到天数: 452 天

    连续签到: 48 天

    [LV.9]测试副司令

    2#
    发表于 2024-1-26 09:57:56 | 只看该作者
    感谢分享,学到了
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-4-28 10:35 , Processed in 0.071300 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表