前言
使用Python+selenium、python+appium分别编写web、Android自动化测试用例一段时间了,先后经历了以下几个改造阶段:
按照官方例子,在unittest case中存储用例,用Excel记录测试结果。初步搭起了能跑的框架。
用例通过关键字驱动提取到Excel中管理,添加报告输出。 用例从脚本中剥离之后,按照业务流程快速编写了一批增删改查的用例,快速提升了覆盖率; 但用例数量、执行频率逐渐增加后,也很快凸显出用例管理、结果查看的不便。
用例、执行结果改为在数据库中存储和维护。 增加了用例管理、报告查看的可操作性。
采用分布式部署的方式进行用例执行:1个服务器节点,多个driver 执行节点。
用例存储在数据库中后,有了搭建一个用例管理平台的想法。彻底脱离在本地进行用例维护的限制,统一在服务器端进行维护。
新平台架构
代码结构:
管理平台:使用Python+flask+boostrap搭建。 包括test case 的增删改查页面、test suite的新增、修改、用例关联、结果汇总查看、截图查看等功能。
用例执行核心服务:使用Python+macaca client搭建。从数据库中读取待执行的用例批次列表,将用例从预定义的关键字自然语言格式,转换为对应的macaca命令,发送到对应的macaca driver节点进行执行