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

目录

建立数据库实例

 建立主测试用例表

参考建议


设计接口自动化框架需要考虑测试用例存储的方式。在实际项目中,测试用例存储的方式有多种,可以存放在 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
   ————————————————

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值