Web自动化-POM封装思想

POM

什么是POM

含义:POM(Page Object Model)的主要目标是将测试代码和页面对象的实现代码分离,以提高测试代码的可维护性和可读性。

POM特点

PO设计模式具有以下优点::
测试代码与页面的定位代码(如定位器或者其他的映射)相分离。该页面提供的方法或元素在⼀个独立的类中,而不是将这些方法或元素分散在整个测试中.

总结:PO就是,以每个页面或者页面中的组件为单位,进行自动化代码的维护,可以和关键字驱动结合起来,进⼀步提高代码的可维护性和复用性

关键字驱动(webkeys层)

什么是关键字驱动

关键字驱动:就是将常用的重复性行为封装起来
比如:打开网页,定位元素,定位元素+等待,通过send_keys发送内容等等,这些封装的目的就是减少代码的冗余

为什么要进行关键字的封装?

封装重复行为,减少代码冗余

1.比如我们经常遇见某些元素需要显示等待,那么定位这个元素就需要两步,显示等待+定位,但是通过封装我们就可以通过调用一个函数,来一步实现(这样就减少代码冗余)

page层

什么是page层

这一层是将对页面的操作剥离出来

为什么要剥离出page层?

测试代码和页面对象的实现代码分离,目的是提高可维护性-后续若页面UI有所改动只需更改page层的py,不需要动test_case层的py

封装思路

1.webkeys层(封装重复行为,减少代码冗余)-> pages层(测试代码和页面对象的实现代码分离,目的是提高可维护性-后续若页面UI有所改动只需更改page层的py,不需要动test_case层的py)->
test_case层,实现测试用例的业务逻辑(只要测试用例的逻辑不变,这一层几乎就不用修改)
2.util层(存放公共的方法:读取数据,处理失败用例的截图,log封装)
3.数据分为三个:
第一个:data层-存放测试中用到的基本数据(yaml文件)
第二个:config层-存放测试中常用的数据,比如URL,USER_NAME,PASSWD等
(config是变量统一管理文件,为了方便在代码中识别,目录、文件、变量名全部大写)
第三个:locate层-里面放了常用的元素的定位

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值