PO--Page object 页面对象

Posted fengliting

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PO--Page object 页面对象相关的知识,希望对你有一定的参考价值。

在UI自动化时,越做到后面越难处理,主要会出现以下问题:

  1、代码越多,看的越拥挤,不好阅读

  2、维护成本越来越高,UI稍微改了一些变动,就要改大量代码,比如替换定位元素

  3、函数方法多用,没有可复用方法

 

在以上问题出现后,有人就总结出一个PO模式,主要原理就是将各种定位、方法、操作分开使用,使脚本可读可写、维护简化

技术图片

 

 

   1、BasePage:

  技术图片

 

 

 

   def __init__(self):

    用来初始化你自己需要的,比如初始化app启动等等,一般为测试环境做前置铺垫

  

 

2、Page:

  对页面进行操作,记得需要继承BasePage

  技术图片

 

 

  对于元素,虽然PO进行分离了,但后面维护,还是有一定吃力,所以我单独写了一个Element.py来保存,以便后面维护使用

  技术图片

 

 

 

3、 TestCase:

  根据测试用例进行调用Page操作方法进行自动化

  技术图片

 

 

项目文件放置:

技术图片

 

 

 

def __init__(self):

以上是关于PO--Page object 页面对象的主要内容,如果未能解决你的问题,请参考以下文章

如何将这个 Objective-C 代码片段写入 Swift?

web自动化中的page object模式

Android 逆向使用 Python 解析 ELF 文件 ( Capstone 反汇编 ELF 文件中的机器码数据 | 创建反汇编解析器实例对象 | 设置汇编解析器显示细节 )(代码片段

Python类OOPs概念[重复]

如何跳过查询条件片段中的空对象?

Selenium2(java)页面对象模型(Page Object) 八