对于自动化框架搭建分层,每个人有不同的理解。在这儿,提供本人思路,用以抛砖引玉。
为什么分层
首先,要设计分层前,先问下为什么,我们为什么需要对框架进行分层设计。
框架分层设计最明显的有两点好处:
- 一是能够让项目结构更清晰,项目更便于分工维护;
- 二是可以最大程度避免循环依赖。
上述两点对于已有开发经验的人员,会显得过于基础和简单,但对于刚接触编程开发和自动化框架学习,是必知必会的,否则等一个项目写完了,发现结构混乱,总是出现模块,类和方法的循环依赖,就需要更多精力投入整改,甚至重写框架。
如何分层
基于已有的开发经验,本人将框架分为数据层(可选),工具层,服务层,用例层。他们作用分别是:
-
数据层(可选):数据驱动类,需要读取的数据
-
工具层:读取配置文件,数据库操作,requests和selenium的封装类等
-
服务层:在上一层的进一步封装,存放业务PageObeject,业务请求entity,测试类等
-
用例层:根据功能模块划分存放各层级测试文件,测试类,测试方法等
以上对应的文件目录即
-
Project
- – data
- –util
- –service
- –testcase
进行分层以后,我们还要定义一下调用方式,只能从下一层往上一层调用,并且绝对不允许同层级之间相互调用,这样我们就能保证不会出现循环依赖。
在公司合作与分工
- 框架开发–
工具层和服务层
: 技术能力强的 - 用例编写–
用例层
:有python 基础,或者逻辑能力强的,进行培训
如果是在公司中多人使用自动化测试框架,可以由技术能力最强的,去负责开发维护工具层和服务层,其它人员只要去在用例层写对应用例即可。
最后提一嘴,用例的书写方式相对简单,哪怕不懂python的,也可以进行短时间培训后,通过python代码写对应的用例。这样,可以低价高效地增加公司自动化人员投入。