python自动化使用的POM思想

POM,中文:页面对象模型,POM是近几年非常流行的自动化测试模型,或者思想,POM不是框架,是解决问题的一种思想。

采用POM目的:为了解决前端中UI变化频繁,从而造成测试自动化脚本维护的成本越来越大

自动化框架 (Automation Framework)需要 :

        1.配置文件管理    (我选用ini文件)
         2.业务逻辑代码和测试脚本分离
         3.输出测试报告文件
         4.输出日志(log)文件
         5.自定义的库封装(我们有很多方法需要重复调用,例如浏览器的引擎以及basepage.py的封装)
         6.管理,执行脚本的方式(比如unittest框架 执行效率比较高)
         7.第三方插件引入(例:html第三方报告)

框架设计如下
1.配置文件      PS:我们需要适用一个自己熟悉类型的文件来管理配置数据和全局变量  
2.框架的主要代码      PS: 主要包含 日志类(log) 自定义封装基类  配置文件读取类以及各种调度
3.产品业务页面     PS:页面对象,业务逻辑分层,分页独立出来
4.测试脚本集合    PS:考虑采用第三方框架和创建测试单元  例如unitest
5.日志和报告       PS: 测试报告和日志的输出,报告需要采用第三方插件来实现
6.邮件功能或者持续集成   PS:例如jenkins 以及其他可以扩展的功能

 

POM思路:把页面元素和业务逻辑和测试脚本分离开到两个不同的类文件。class A只写页面元素定位,和业务逻辑代码操作的封装,class B只写测试脚本,

不关心如何元素定位,只写调用class A的代码去覆盖不同的测试场景,如果前端页发生变化,只需要修改Class A的元素定位,而不需要去修改class B中的测试脚本代码。

POM主要有以下优点:

1. 把web ui对象仓库从测试脚本分离,业务代码和测试脚本分离。

2. 每一个页面对应一个页面类,页面的元素写到这个页面类中。

3. 页面类主要包括该页面的元素定位,和和这些元素相关的业务操作代码封装的方法。

4. 代码复用,从而减少测试脚本代码量。

5. 层次清晰,同时支持多个编写自动化脚本开发,例如每个人写哪几个页面,不影响他人。

6. 建议页面类和业务逻辑方法都给一个有意义的名称,方便他人快速编写脚本和维护脚本。

 

转自:

https://blog.csdn.net/weixin_38079422/article/details/79088627 

https://www.cnblogs.com/bashaowei/p/8949871.html

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值