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

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对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文件中,编写代码操作数据库
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()

运行以上代码,得到数据库查询结果如下:

5、总结

以上的操作仅仅只是数据库连接及查询操作的演示,一个完整的项目,还需结合业务场景,去对应设计脚本或编写代码。大家可在此基础上,结合自己项目情况,进行拓展。

学无止境,行以致远。

相关推荐
Eiceblue2 分钟前
使用Python获取PDF文本和图片的精确位置
开发语言·python·pdf
我叫czc4 分钟前
【Python高级353】python实现多线程版本的TCP服务器
服务器·python·tcp/ip
爱数学的程序猿8 分钟前
Python入门:6.深入解析Python中的序列
android·服务器·python
comli_cn36 分钟前
使用清华源安装python包
开发语言·python
赵谨言1 小时前
基于python 微信小程序的医院就诊小程序
经验分享·python·毕业设计
1.01^10001 小时前
[1111].集成开发工具Pycharm安装与使用
python·pycharm
HEX9CF1 小时前
【Django】测试带有 CSRF 验证的 POST 表单 API 报错:Forbidden (CSRF cookie not set.)
python·django·csrf
深度学习机器2 小时前
LangGraph:基于图结构的大模型智能体开发框架
人工智能·python·深度学习
凡人的AI工具箱2 小时前
每天40分玩转Django:实操多语言博客
人工智能·后端·python·django·sqlite
Py办公羊大侠2 小时前
Excel批量设置行高,Excel表格设置自动换行后打印显示不全,Excel表格设置最合适的行高后打印显示不全,完美解决方案!!!
python·excel·打印·openpyxl·自动换行·显示不全