51Testing软件测试论坛

标题: Jmeter、postman、python 三大主流技术如何操作数据库? [打印本页]

作者: 海上孤帆    时间: 2024-1-22 13:14
标题: Jmeter、postman、python 三大主流技术如何操作数据库?
本帖最后由 海上孤帆 于 2024-1-22 13:16 编辑

1、前言
只要是做测试工作的,必然会接触到数据库,数据库在工作中的主要应用场景包括但不限于以下:
当我们利用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对xmysql生成的Rest API进行增删改查操作,详见官方文档:https://github.com/o1lab/xmysql?utm_source=testingpai.com#xmysql--one-command-to-generate-rest-apis-for-any-mysql-database
示例如下:
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、总结
以上的操作仅仅只是数据库连接及查询操作的演示,一个完整的项目,还需结合业务场景,去对应设计脚本或编写代码。大家可在此基础上,结合自己项目情况,进行拓展。
学无止境,行以致远。



作者: oliver.tang    时间: 2024-1-26 09:57
感谢分享,学到了




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2