自动化测试平台需求
管理所有的接口:
-
接口的增删改查
-
一键执行接口,并生成测试报告
-
批量执行
-
下载报告
-
-
批量导入
-
从Excel表格中
-
-
定时任务
-
-
可视化
-
echarts
-
实现:
-
django + unittest

项目分析
项目列表:

用例列表:

用例执行日志:

参考项目列表图,完成:
-
新建项目
-
编辑项目
-
删除项目
-
为项目添加用例
数据库设计:
-
项目表的字段:
-
项目名称
-
项目描述
-
用例数据量,该字段是统计出来的
-
覆盖率字段,计算出来的(通过的用例数量除以项目总的用例数量)
-
开始时间
-
结束时间
-
-
用例表
-
用例名称
-
用例描述
-
所属项目
-
请求的url
-
请求的类型
-
请求的参数
-
期望值
-
执行状态
-
已执行
-
未执行
-
-
通过状态,用例执行后,修改此状态
-
执行成功,已通过
-
执行失败,未通过
-
-
用例报告
-
-
日志表:
-
所属项目
-
执行时间
-
执行的报告
-
作业完成顺序:项目表的增删改查 ---> 用例表的增删改查 -----> 用例执行------> 批量执行的用例日志 ---> 数据可视化
-
页面中,勾选了一个或者多个用例,CheckBox(复选框)
-
点击执行按钮后,后端接收一个或者多个CheckBox的值(用例id):
-
前端如何往后端发送?
-
ajax发送,循环CheckBox的外部盒子,获取每一个CheckBox状态为选中的input框,获取input的value值(用例id),然后push到数组中,再将该数组发送到后端。
-
form表单提交
-
-
后端如何接收form表单提交的值
-
request.POST.get_list
-
-
def index(request): if request.method == "POST": request.POST.get("username") # username对应的是单个值 request.POST.get_list('checkbox_list') # 以列表的形式接收多个值
-
后端接收到了前端传过来的值:
[1, 2, 3, 4]-
根据获取到的用例id列表,去数据库中提取出对应记录(用例对象)
-
如果是多个用例对象,循环使用requests提取用例对象中的字段发请求。
-
结果断言
-
unittest生成测试报告
-
将测试报告保存到用例的相应字段中
-
修改用例的执行状态和通过状态
-
考虑如何获取批量执行的测试结果报告
-
-
用例批量执行完毕,将批量执行结果保存到log表中
-
用例执行的时间
-
用例报告
-
-
将执行结果给前端返回。

浙公网安备 33010602011771号