news 2026/9/3 0:18:55

【接口测试】6_PyMySQL模块 _删除员工接口使用数据库工具类

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【接口测试】6_PyMySQL模块 _删除员工接口使用数据库工具类

文章目录

  • 一、思路分析
  • 二、案例
    • 2.1 相关代码解读
      • 2.1.1 删除接口基本实现
      • 2.1.2 构造测试数据
      • 2.1.3 校验is_delete字段值
    • 2.2 完整代码实现

一、思路分析

  • 构造测试数据:
    • 删除员工所需要的 员工id,在测试删除员工接口之前,通过 insert 语句,插入一个 员工id 到数据库中。
    • 直接使用 这个id,进行 删除员工接口。
  • 校验测试数据:
    • 发送 删除员工接口 请求成功后,通过 select 语句查询 is_delete 字段的值。如果为 1,说明删除成功!

二、案例

2.1 相关代码解读

2.1.1 删除接口基本实现

importrequestsdeftest_delete_emp_ok(self):resp=requests.delete(url="http://ihrm-test.itheima.net/api/sys/user/77889900",headers={"Authorization":"e293a04b-a7ea-4da6-bf50-768bbf24fc2f"})# 打印响应结果,转json格式print(resp.json())

2.1.2 构造测试数据

defsetup(self):# 使用直接封装的 数据库工具,执行 insert 语句,插入一条带有 id 的记录到 数据库中del_sql="insert into bs_user(id, mobile, username) values('77889900', '13943970710', 'abc001');"DBTools.db_uid(del_sql)defteardown(self):del_sql="delete from bs_user where id = 77889900;"DBTools.db_uid(del_sql)

2.1.3 校验is_delete字段值

res=DBTools.query_one("select is_delete from bs_user where id = 77889900;")assert1==res[0]

2.2 完整代码实现

importrequestsfrompy08_db_toolsimportDBToolsclassTestIhrmDelete(object):defsetup(self):# 使用直接封装的 数据库工具,执行 insert 语句,插入一条带有 id 的记录到 数据库中del_sql="insert into bs_user(id, mobile, username) values('77889900', '13943970710', 'abc001');"DBTools.db_uid(del_sql)defteardown(self):del_sql="delete from bs_user where id = 77889900;"DBTools.db_uid(del_sql)deftest_delete_emp_ok(self):resp=requests.delete(url="http://ihrm-test.itheima.net/api/sys/user/77889900",headers={"Authorization":"e293a04b-a7ea-4da6-bf50-768bbf24fc2f"})# 打印响应结果,转json格式print(resp.json())# 只断言了发送http请求返回的4个值。assert200==resp.status_codeassertTrue==resp.json().get("success")assert10000==resp.json().get("code")assert'操作成功!'==resp.json().get("message")# 断言 77889900 所对应的 is_delete 记录为 1res=DBTools.query_one("select is_delete from bs_user where id = 77889900;")assert1==res[0]

执行:

PS C:\XM1\requestsTestSh27>pytest-sxx.py

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/2 23:26:18

行泊一体十年演进(2015–2025)

行泊一体十年演进(2015–2025) 一句话总论: 2015年行泊一体还是“高速ACC简单APA分离”的高端配置,2025年已进化成“全场景无图NOA零干预AVP记忆/遥控泊车端到端VLA大模型统一”的普惠标配,中国从跟随者跃升全球领跑者…

作者头像 李华
网站建设 2026/9/2 23:14:22

影子模式十年演进(2015–2025)

影子模式十年演进(2015–2025) 一句话总论: 2015年影子模式(Shadow Mode)还是“离线日志回放人工对比”的小规模验证工具,2025年已进化成“实时并行双实例端到端VLA大模型自诊断车云协同零接管验证量子级容…

作者头像 李华
网站建设 2026/9/2 23:14:32

自动驾驶架构十年演进(2015–2025)

自动驾驶架构十年演进(2015–2025) 一句话总论: 2015年自动驾驶架构还是“分散式ECU模块化感知-规划-控制”的传统堆叠式,2025年已进化成“中央计算单/双盒子端到端VLA大模型统一三层冗余车云协同自进化”的高度集中式全车大脑&a…

作者头像 李华
网站建设 2026/9/2 23:14:18

Jupyter Notebook如何连接远程GPU?Miniconda容器配置详解

Jupyter Notebook如何连接远程GPU?Miniconda容器配置详解 在深度学习项目日益复杂的今天,一个常见的场景是:研究者手握高性能笔记本,却只能眼睁睁看着本地显卡内存不足、训练动辄数小时。而与此同时,数据中心里的A100集…

作者头像 李华
网站建设 2026/9/2 23:14:27

Markdown+Jupyter:用Miniconda-Python3.10输出高质量技术文档

MarkdownJupyter:用Miniconda-Python3.10输出高质量技术文档 在数据科学和AI研发日益工程化的今天,一份“能跑通”的技术文档远比静态PDF更有说服力。你有没有遇到过这样的场景:同事发来一份实验报告,结论看起来很惊艳&#xff0…

作者头像 李华