海上孤帆 发表于 2024-1-22 13:14:19

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

本帖最后由 海上孤帆 于 2024-1-22 13:16 编辑

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

当我们利用Jmeter或postman工具进行接口测试,又或者利用python去进行自动化测试,比如商品搜索功能,需查库校验搜索商品结果的正确完整性,去实现断言。这里涉及到数据库如何操作呢?http://testingpai.com/upload/file/2023/12/%E5%9B%BE%E7%89%87-d0e4bb84.png
2、Jmeter如何操作数据库?第一步:通过JDBC Connection Configuration,建立数据库连接在Jmeter线程组下右键->配置元件->选择 JDBC Connection Configuration,做如下配置http://testingpai.com/upload/file/2023/12/%E5%9B%BE%E7%89%87-3025b954.png**注意:**jmeter工具去操作数据库不带驱动,需要自己添加驱动jar包,下载一个,并放到jmeter的lib目录下,然后点开测试计划,添加jar包路径。如下:http://testingpai.com/upload/file/2023/12/%E5%9B%BE%E7%89%87-c23253b1.png
http://testingpai.com/upload/file/2023/12/%E5%9B%BE%E7%89%87-2213d613.png
第二步:通过JDBC Request编写sql语句操作数据库,获取数据在Jmeter线程组下右键->取样器->选择 JDBC Request,做如下配置:http://testingpai.com/upload/file/2023/12/%E5%9B%BE%E7%89%87-9b9a6547.png点击运行,可以正常看到搜索结果:http://testingpai.com/upload/file/2023/12/%E5%9B%BE%E7%89%87-a9a17775.png
3、postman如何操作数据库?postman本身没有数据库连接功能,需要用到node.js中的xmysql实现Rest API生成,再利用postman去对API进行请求,实现对数据库的操作。第一步:环境准备,安装xmysql1、node.js的安装:访问https://nodejs.org/en/download 进行下载并安装。安装成功后,在cmd命令行窗口输入node --verison,出现版本信息则表示安装成功。http://testingpai.com/upload/file/2023/12/%E5%9B%BE%E7%89%87-5b0973a2.png2、xmysql的安装:在命令行窗口输入npm install -g xmysql 即可进行安装。安装完成后,输入xmysql 看到使用说明,则说明安装成功。http://testingpai.com/upload/file/2023/12/%E5%9B%BE%E7%89%87-49cecc5c.png第二步:连接数据库命令行窗口输入:xmysql -h 主机名 -u 用户名 -p 密码 -d 库名。如下:http://testingpai.com/upload/file/2023/12/%E5%9B%BE%E7%89%87-5c4f353a.png第三步: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示例如下:http://testingpai.com/upload/file/2023/12/%E5%9B%BE%E7%89%87-b8f87166.pngpostman查询数据操作如下:http://testingpai.com/upload/file/2023/12/%E5%9B%BE%E7%89%87-5ae7d39d.png
4、python如何操作数据库?第1步:环境准备,安装pymysqlpython中操作mysql数据库,需借助第三方库例pymysql来实现。所以需要先安装pymysql:通过cmd命令行窗口输入pip install pymysql。安装后,通过pip show pymysql 检测是否安装成功。显示pymysql库信息则成功。http://testingpai.com/upload/file/2023/12/%E5%9B%BE%E7%89%87-c865cb01.png第2步:python文件中,编写代码操作数据库
<font size="3">import pymysql   # 导包

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


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


# 第3步:执行sql语句 - 查询
# cur.execute(sql语句),返回值为执行sql影响到的行数
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;")
print(row_count)

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

# 第5,关闭数据库连接,释放资源
cur.close()
conn.close()
</font>运行以上代码,得到数据库查询结果如下:http://testingpai.com/upload/file/2023/12/%E5%9B%BE%E7%89%87-874e0d61.png5、总结以上的操作仅仅只是数据库连接及查询操作的演示,一个完整的项目,还需结合业务场景,去对应设计脚本或编写代码。大家可在此基础上,结合自己项目情况,进行拓展。学无止境,行以致远。

oliver.tang 发表于 2024-1-26 09:57:56

感谢分享,学到了
页: [1]
查看完整版本: Jmeter、postman、python 三大主流技术如何操作数据库?