目录

建立数据库实例

建立主测试用例表

参考建议


设计接口自动化框架需要考虑测试用例存储的方式。在实际项目中,测试用例存储的方式有多种,可以存放在 Excel 表格中,也可以存放于 Yaml 文件中,而最好的方式是存放在 MySQL 数据库中,原因有几点:

  • 现在 Docker 技术流行,可以通过 Docker 拉取镜像直接安装 MySQL,用于存放测试用例。

  • Python 利用 PyMySQL 库可以很好地与 MySQL 数据库进行交互。

  • 只要熟悉SQL 语句,就可以随时存储和读取测试用例的内容。

  • 使用 MySQL 数据库存储测试用例便于后续的测试平台的开发。

因此,本文将采用 MySQL 数据库来存储测试用例。

建立数据库实例

使用数据库存放测试用例需要建立新的数据库实例,请先安装MySQL 数据库系统。在此基础上,需要通过Navicat 客户端连接 MySQL 数据库,新建一个数据库实例便可。步骤如下。

(1)通过 Navicat 客户端连接 MySQL 数据库系统,用户名为 root,密码为123456,数据库的端口号为 33506,IP 地址为 192.168.47.128,如图1所示。

图1  连接 MySQL 数据库系统

(2)MySQL 数据库连接成功后,新建数据库实例,如图2所示。

图2 新建数据库实例

(3)输入数据库实例的名称,并选择字符集和排序规则,如图3所示。

图3 输入数据库实例名称

(4)单击“确定”按钮,便可新建成功,如图4所示。

图4 数据库实例新建成功

建立主测试用例表

根据 手把手带你设计接口自动化测试用例(二):根据接口信息设计测试用例 中设计的主测试用例的字段来建立主测试用例表,此表主要用来存放主测试用例的内容,命名为test_case_list。接下来通过 CREATE TABLE 语句建立此表,并通过 INSERT INTO 语法向表中插入上篇文章中设计的 11 个测试用例的内容。

1)在 test 数据库实例中创建 test_case_list 表

通过 CREATE TABLE 语句创建 test_case_list 表,建表语句如例 1 所示。

【例1】创建 test_case_list 表。

CREATE TABLE `test_case_list` (
# 测试用例的编号,不为空,自增长
`id` int(0) NOT NULL AUTO_INCREMENT,
# 项目名称
`web` varchar(255) DEFAULT NULL,
# 项目模块
`module` varchar(255) DEFAULT NULL,
# 测试用例的标题
`title` varchar(255) DEFAULT NULL,
# 接口地址的路径
`url` varchar(255) DEFAULT NULL,
# 请求方法
`method` varchar(255) DEFAULT NULL,
# 请求头
`headers` varchar(255) DEFAULT NULL,
# cookies 秘钥
`cookies` varchar(1000) DEFAULT NULL,
# 请求主体信息
`request_body` varchar(1000) DEFAULT NULL,
# 请求主体的数据类型
`request_type` varchar(255) DEFAULT NULL,
# 关联
`relation` varchar(255) DEFAULT NULL,
# 预期业务状态码
`expected_code` varchar(255) DEFAULT NULL COMMENT ' 作为
断言标准 ',
# 测试用例是否可运行
`isdel` int(0) NULL DEFAULT 1 COMMENT '0 为删除,1 为正常 ',
# 设置 id 为主键
PRIMARY KEY (`id`) USING BTREE
# 设置表的引擎为 InnoDB
) ENGINE = InnoDB ;

2)展示 test_case_list 表名和字段

通过 Navicat 客户端将 test_case_list 表创建成功之后,表的名称和字段的信息展示如图5所示。

图5  test_case_list 表名及字段信息

3)向 test_case_list 表插入测试用例的内容

test_case_list 表创建成功之后,可以通过 INSERT INTO 语法向表中插入手把手带你设计接口自动化测试用例(二):根据接口信息设计测试用例中设计的 11 个测试用例的内容,插入语句如例 2 所示。

【例 2】向 test_case_list 表中插入测试用例的内容。

# 插入第一条测试用例
INSERT INTO `test_case_list` VALUES (1, 'zrlog', '登录模块',
' 密码错误 ', '/api/admin/login', 'post', '{\"Content-Type\":
\"application/json\"}', '{}', '{\"userName\":\"admin\",\
"password\":123456,\"https\":False,\"key\":1598188173501}',
'json', NULL, '1', 1);
# 插入第二条测试用例
INSERT INTO `test_case_list` VALUES (2, 'zrlog', ' 登录模
块 ', ' 不携带密码参数 ', '/api/admin/login', 'post', '{\"Content
Type\": \"application/json\"}', '{}', '{\"userName\":\"admin
\",\"https\":False,\"key\":1598188173501}', 'json', NULL,
'1', 1);
# 插入第三条测试用例
INSERT INTO `test_case_list` VALUES (3, 'zrlog', '登录模块',
' 用户名错误 ', '/api/admin/login', 'post', '{\"Content-Type\":
\"application/json\"}', '{}', '{\"userName\":\"adminadminadmin
admin\",\"password\":\"ca72de92e7e1767aefe5853a282836e7\",\
"https\":False,\"key\":1598188173501}', 'json', NULL, '1', 1);
# 插入第四条测试用例
INSERT INTO `test_case_list` VALUES (4, 'zrlog', '登录模块',
' 用户名为非字符串类型 ', '/api/admin/login', 'post', '{\"Content
Type\": \"application/json\"}', '{}', '{\"userName\":123456,\
"password\":\"ca72de92e7e1767aefe5853a282836e7\",\"https\":
False,\"key\":1598188173501}', 'json', NULL, '1', 1);
# 插入第五条测试用例
INSERT INTO `test_case_list` VALUES (5, 'zrlog', ' 登录模块 ',
' 不携带用户名参数 ', '/api/admin/login', 'post', '{\"Content
Type\": \"application/json\"}', '{}', '{\"password\":\
"ca72de92e7e1767aefe5853a282836e7\", \"https\":False,\
"key\":1598188173501}', 'json', NULL, '1', 1);
# 插入第六条测试用例
INSERT INTO `test_case_list` VALUES (6, 'zrlog', '登录模块',
' 用 户 名 为空 字 符 串 ', '/api/admin/login', 'post', '{\"Content
Type\": \"application/json\"}', '{}', '{\"userName\":\"\",\
"password\":\"ca72de92e7e1767aefe5853a282836e7\",\"https\":
False,\"key\":1598188173501}', 'json', NULL, '1', 1);
# 插入第七条测试用例
INSERT INTO `test_case_list` VALUES (7, 'zrlog', '登录模块',
' 用 户 名 和密 码 正 确 ', '/api/admin/login', 'post', '{\"Content
Type\": \"application/json\"}', '{}', '{\"userName\":\"admin\",
\"password\":\"ca72de92e7e1767aefe5853a282836e7\",\"https\":
False,\"key\":1598188173501}', 'json', 'token=cookies.admin
token', '0', 1);
# 插入第八条测试用例
INSERT INTO `test_case_list` VALUES (8, 'zrlog', ' 文章管
理模块 ', ' 发布文章 ', '/api/admin/article/create', 'post',
'{\"Content-Type\": \"application/json\"}', '{\"admin
token\":\"${token}\"}', '{\"id\":None,\"editorType\":\"m
arkdown\",\"title\":\" 付 出 \",\"alias\":\" 付 出 \",\"thumbnail
\":None,\"typeId\":\"1\",\"keywords\":None,\"digest\":None,
\"canComment\":False,\"recommended\":False,\"privacy\":
False,\"content\":\"<p> 付 出 </p>\\n\",\"markdown\":\" 付
出 \",\"rubbish\":False}', 'json', 'id_name=body.id,alias_
name=body.alias', '0', 1);
# 插入第九条测试用例
INSERT INTO `test_case_list` VALUES (9, 'zrlog', ' 文章管
理模块 ', ' 修改文章 ', '/api/admin/article/update', 'post',
'{\"Content-Type\": \"application/json\"}', '{\"admin
token\":\"${token}\"}', '{\"id\":\"${id_name}\",\"editorType\
":\"markdown\",\"title\":\" 付出才能杰出 \",\"alias\":\"${alias_
name}\",\"thumbnail\":None,\"typeId\":\"1\",\"keywords\":
None,\"digest\":\"<p> 付 出 </p>\",\"canComment\":False,\"recom
mended\":False,\"privacy\":False,\"content\":\"<p> 付 出 </p>\\
n\",\"markdown\":\" 付 出 \",\"rubbish\":False}', 'json', NULL,
'0', 1);
# 插入第十条测试用例
INSERT INTO `test_case_list` VALUES (10, 'zrlog', ' 文章
管理模块 ', ' 删除文章 ', '/api/admin/article/delete', 'post',
'{\"Content-Type\": \"application/x-www-form-urlencoded\"}',
'{\"admin-token\":\"${token}\"}', '{\"oper\":\"del\",\"id\":\
"${id_name}\"}', 'data', NULL, '0', 1);
# 插入第十一条测试用例
INSERT INTO `test_case_list` VALUES (11, 'zrlog', ' 文 章
管理模块 ', ' 查询文章 ', '/api/admin/article?keywords= 付出才
能杰出 &_search=false&nd=1598429806679&rows=10&page=1&sidx=
&sord=asc', 'get', '{\"Content-Type\": \"application/x-www
form-urlencoded\"}', '{\"admin-token\":\"${token}\"}', '{}',
'data', NULL, '0', 1);

4)展示 test_case_list 全表的内容

通过 Navicat 客户端工具执行 INSERT INTO 语句后,test_case_list 全表的内容如图6、图 7所示。

图6  test_case_list 全表的内容(1)

图7  test_case_list 全表的内容(2)

参考建议

好了 学习也就到此结束了 想了解更多相关知识请关注我吧!下面是小编想对读者大大们写的一封信哦! 记住要认真读哦!

感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接免费拿走:

————————————————
「学习资料 笔记 工具 文档领取」

扫描二维码,
备注“csdn999”
小姐姐邀你一起学习哦~~
和志同道合的测试小伙伴一起讨论测试技术吧!

一定一定一定 要备注暗号:CSDN999
   ————————————————

手把手带你设计接口自动化测试用例:建立数据库实例和测试用例表相关推荐

  1. 手把手带你设计接口自动化测试用例(二):根据接口信息设计测试用例

    手把手带你设计接口自动化测试用例(二):根据接口信息设计测试用例 上一篇文章 手把手带你设计接口自动化测试用例(一):提取接口信息并分析 详细介绍了如何提取并分析登录.发布.修改.删除.查询等接口信息 ...

  2. 手把手教你设计接口自动化测试用例:根据接口信息设计测试用例

    目录 01 设计主测试用例的字段 02 设计配置信息的字段 03 设计执行结果记录的字段 04 设计主测试用例内容并解决关联关系 05 设计配置信息的内容 06 执行结果记录的内容 07 参考建议 0 ...

  3. pytest+yaml设计接口自动化框架过程记录(一步一步记录如何设计,完结撒花),源码提供,视频教程

    pytest+yaml设计接口自动化框架过程记录 第三代框架使用教程,该框架比现在这个完善了很多 框架简介 框架运行演示和功能介绍视频 pytest+yaml框架环境配置和使用教程 0.去年也写了一个 ...

  4. Python接口自动化之pymysql数据库操作

    VOL 120 06 2020-05 今天距2021年239天 这是ITester软件测试小栈第120次推文 点击上方蓝字"ITester软件测试小栈"关注我,每周一.三.五早上  ...

  5. 如何更新你的机器学习模型?手把手带你设计一个可持续的预测模型!

    作者 | CloudFactory 译者 | 天道酬勤 责编 | 徐威龙 出品 | AI科技大本营(ID:rgznai100) 高效的机器学习模型需要高质量的数据.训练你的机器学习模型并不是过程中的单 ...

  6. 什么叫创建oracle实例,请问建立数据库实例是什么意思

    看图说话,DB2是一个INSTANCE,里面包着多个DATABASES,而ORACLE却是INSTANCE跟DATABASE分开的.另外,ORACLE中SERVER PROCESS是不算在INSTAN ...

  7. 【30天学会接口自动化测试】接口自动化测试之框架设计(五)

    整理了一些软件测试方面的资料.面试资料(接口自动化.web自动化.app自动化.性能安全.测试开发等),有需要的小伙伴可以文末加入我的学习交流qun,无套路自行领取~ 如果有100个测试用例,重复的去 ...

  8. moco在接口自动化中的应用

    VOL 185 18 2020-12 今天距2021年13天 这是ITester软件测试小栈第185次推文 点击上方蓝字"ITester软件测试小栈"关注我,每周一.三.五早上 0 ...

  9. Yhen手把手带你使用百度智能云②----文字识别

    声明: 以下内容为本人原创,仅供用于参考学习 禁止用于商业及违法用途 ·作者:@Yhen ·原文网站:CSDN ·原文链接:https://blog.csdn.net/Yhen1/article/de ...

最新文章

  1. EF Core数据库Provider一览
  2. Java常用日期操作
  3. Thymeleaf中each标签遍历list如何获取index
  4. 推荐算法炼丹笔记:非采样的负样本
  5. asp.net mvc web api 参数输入多个参数
  6. 嵌入式linux系统移植的四大步骤_如何移植开源软件到嵌入式Linux系统
  7. Jedis 设置key的超时时间
  8. LeetCode上读不懂题!看不懂测试用例的那些题(有生之年更新。。。)
  9. 亚马逊云科技中国线上峰会开幕,发力汽车产业链、少年人工智能等
  10. YIi 设置 ajax 验证
  11. 带参数的插入语句的问题
  12. 使用码云或GitHub搭建简单的个人网站
  13. Atitit 常见dj机功能 目录 1.1. PLAY/PAUSE:播放及暂停,这个和普通的音乐播放设备的功能都是一样的。 1 1.2. Direction:FWD正方向转动、REV反方向转动,音乐
  14. 点点滴滴——变量对象的产生
  15. 蜂鸣器驱动电路 自主开发设计
  16. Mysql从入门到入魔——6. 表联结、组合查询
  17. 小鸟云服务器如何安装rstudio-server?
  18. 火焰识别python_五行属火的字大全
  19. crmeb知识付费uniapp重构 适配小程序 APP 微信H5
  20. 解决Appium Desktop 测试中,元素不能准确定位的问题

热门文章

  1. 全球与中国柑橘酒市场深度研究分析报告
  2. 云耀云服务器装2003系统,云耀云服务器重装操作系统
  3. 博德之门+Doom?Doom之父设计手机游戏
  4. 小散量化炒股记|搭建本地化的股票量化数据库这么几步就够了
  5. Java经典实例代码
  6. 三星w2014android,三星W2014的手机系统是什么?三星W2014能升级安卓4.3吗?
  7. 天猫盒子系统配置服务器失败怎么办,天猫魔盒投屏失败怎么办,其实可以自己解决!...
  8. 仅仅有人物没背景的图片怎么弄_怎么把人物的背景换成另一张图
  9. 微信小程序云开发教程-微信小程序框架的介绍
  10. ZuulFilter修改参数并传递给后续微服务