测试平台系列(89) 编写执行测试计划功能
大家好~我是
米洛
!
我正在从0到1打造一个开源的接口测试平台, 也在编写一套与之对应的教程
,希望大家多多支持。
欢迎关注我的公众号米洛的测开日记
,获取最新文章教程!
回顾
上一节我们把邮件那块的通知做好了,算是到了分水岭
。目前来看的话,我们的任务从新增
到构建
到通知
,已经有了一个相对完善的结局。
新的征程
考虑到明年可能要当奶爸了,接下来也没很多空闲时间来卷了。
所以在此之前,打算先立些功能项,按照喜好在这几个月内慢慢实现
。
-
主要记录用例相关变动,包括新增、更新、删除等记录。
-
后置条件我们还没有做呢,这块是个比较重要的问题。
-
这里的打通是可以导入httprunner的yaml数据,导出的话暂定
-
这块功能还是比较重要的,用例的
数据
,执行的数据,自动化率等等。 -
工作台做的好的话,可以快速完成很多事情。
-
作为一个接口自动化测试平台,干啥都不能脱离接口。一般的公司都有用到yapi,如果没有的话,rap2或者swagger文件都需要进行支持。
-
为了提高用例的编写质量,需要这套系统。
-
需要支持主流的阿里云sdk,七牛云sdk,腾讯云sdk。目的是能够支持文件上传类型的case。
-
这个也很重要,如果只支持http,相对比较鸡肋。
-
其实比较鸡肋,可以做简单点,可以
禁用用户
这样的就可以了。因为公司一般都是内网系统,如果离职了人也登录不进来了。 -
由于各个公司的发布系统构成都不一样,如果有这方面需求,我们可以提供openapi出去,让他们可以根据
app_id
或者git地址
来执行我们制定的case。
以上还只是部分内容
,要做完善还是需要花费一些时间
。但好在还有很长时间,我们慢慢完善
吧。
执行测试计划
先看看原先的执行测试计划
功能:
可以看到核心方法已经有了,我们只需要为之编写接口即可。
@router.get("/plan/execute")
async def run_test_plan(id: int, user_info=Depends(Permission(Config.MEMBER))):
try:
await Executor.run_test_plan(id, user_info['id'])
return PityResponse.success()
except Exception as e:
return PityResponse.failed(str(e))
在app/routers/testcase/testplan.py加上如上方法,注意这里权限我们稍作了一些替换:
GUEST换成了MEMBER,语义上更为贴切。
修改前端
我们在这中间要加一个执行
按钮,并且执行完毕后弹出对话框问对方需不需要跳转到报告链接
。
- src/pages/ApiTest/TestPlan.jsx新增onExecute方法
测试报告执行完成后,是否跳转到报告页面。
- Table操作字段新增
运行
按钮
- src/models/testplan.js新增executeTestPlan方法
- src/services/testplan.js新增executeTestPlan方法
看看效果
执行下,然后等待后跳转到报告链接
。
可以看到邮件里的执行人也进行了修改
。
修改报告页面
报告页面目前是没有测试计划
标识的,我们需要给它来个提示。
页面有点不够放,我们修改下Table组件
。
由于本身有mode属性,所以我们根据这个来判断类型就好,其实这个有个缺点,虽然是测试计划,但是没显示测试计划的名称
。
那这个问题就留到下一节解决了~
下一节我们编写阿里云sdk和七牛云sdk,完成oss crud功能。