UI自动化--PO模式

PO(page Object),又称POM,即页面对象模型

作用:把测试页面和测试脚本进行分离,就是把页面封装成类,供测试脚本进行调用

PO模式是selenium自动化中最佳的设计模式之一,

POM一般分为四层:项目=n个页面=base层+pageobject层(页面1,页面2,页面3,。。。。页面n)

第一层:base层  描述每个页面相同的属性及行为

第二层: pageobject层,每个的独有特征及独有的行为

第三层: tesecase层,用例层,描述项目业务流程

第四层:testdata,数据层

优点:

提高代码的可取性

减少代码的重复性 

提高代码的可维护性,特别是针对UI界面频繁的页面

缺点:

造成项目结构比较复杂,因为是根据流程进行了模块化处理

 PO页面元素封装步骤

1.对应页面创建页面PO代码文件,命名规则:页面功能_page.py,例如首页:index_page.py

2.定义三个类:对象层(xxxPage)/操作层(xxxHandle)/业务层(xxxTask)

3.对象层:

  1. init方法中获取浏览器对象
  2. 自定义方法:封装元素定位方法
  3. 封装元素定位方法需要添加返回值!

 4.操作层:

  1. init方法中获取对象层对象,根据类名写对象变量名
  2. 自定义方法封装元素操作方法

 5.业务层:

  1. init方法获取操作层对象,根据类名写对象变量名
  2. 自定义方法:封装测试业务逻辑

6.在测试用例文件中,实例化业务层对象,调用测试业务方法,执行测试 

你可能感兴趣的:(自动化,运维)