自动化脚本分层框架设计思想

什么是Page Objects

中文翻译为页面对象,是指Ui界面上用于与用户进行交互的对象,把界面定位和业务操作分开,通过Page Object
对UI界面交互细节进行了封装,这样可以是测试案例更加关注业务,而非界面细节,提高了测试案例的可读性;通
过Page Object可以减少重复代码的编写,通过Page Object使的对象库层,操作层,业务层进行了分离,节省了
后续大量的维护 
测试中的每一个页面当做一个对象进行封装(实际实现的时候把它当做一个模块),然后把这个对象进行分层设计,
然后把这个对象进行分层设计,拆分为了元素管理层,操作管理层以及业务管理层。元素管理层就是管理页面元素的
,操作管理层就是管理对这些元素操作的,而业务管理层就是为了把这些元素、操作串联成为真实的业务场景,而
实际测试的时候,我们写脚本的工程师,可以只调用业务管理层里面的方法就可以完成测试,并不需要关心到底点击
了哪些元素,对元素做了怎么样的操作。

自动化脚本分层框架设计思想(五层)

1.公共函数库层

为了方便定位问题,我们==把工具层(seleium)与页面元素对象单独抽离封装==。工具提供了对浏览器的操作、对象识
别、断言、操作动作等封装处理,方便排查定位问题,所以我们把selenuim提供的APL封装utils(公共)层
另外分析需求把通用功能和使用频率较高的页面采用PageObject技术进行单独抽离封装形成Page(元素)层,这样
应对需求变化的属性比较灵活,提高维护代码的效率

2.数据池层

 在测试活动中我们会经常修改测试数据来覆盖不同的测试需求(长度,类型,为空,重复,敏感,特殊,NULL等),
 为了方便维护测试数据我们把数据单独抽离出来,采用XML格式单独存在一个文件里。这样形成数据池层,方便我们
 维护测试数据

3.测试用例层

冒烟测试用例和回归测试用例方便管理单独存放在用例层里,引入unittest框架来优化代码, 减少用例冗余操作步骤
。当我们开发代码时用到的通用功能去公共函数库层中分别调用对应的模块即可,这样可以减少大量冗余代码,测试数
据分离

4.测试套层

在冒烟测试或回归测试活动中,我们会选择不同的回归策略,为方便管理我们要回归的测试用例,我们使用测试套来组
织管理测试用例

5.测试报告层

测试结束我们需要知道最后的结果是否出现异常,所以引入HTMLTestTunner来生成测试报告,方便查看测试结果

你可能感兴趣的:(自动化脚本分层框架设计思想)