UI自动化--PO模式
PO(page Object),又称POM,即页面对象模型
·
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.对象层:
- init方法中获取浏览器对象
- 自定义方法:封装元素定位方法
- 封装元素定位方法需要添加返回值!
4.操作层:
- init方法中获取对象层对象,根据类名写对象变量名
- 自定义方法:封装元素操作方法
5.业务层:
- init方法获取操作层对象,根据类名写对象变量名
- 自定义方法:封装测试业务逻辑
6.在测试用例文件中,实例化业务层对象,调用测试业务方法,执行测试
更多推荐




所有评论(0)