PO模式学习笔记


框架:

1.PO模式应用(测试对象和测试用例分离)(写到简历中)

2.引入ddt

3.深入分层:测试数据分离

4.遵循原则:测试用例的独立性

5.深入分层:元素定位分离

6.框架优化:提取basepage,具备处理异常 日志 截图功能

7.框架优化:使用pytest单元测试框架

8.Jenkins集成,分布式部署

 

为什么要把业务逻辑从测试逻辑里抽离出来?

-PO模式 PageObject 页面中封装成一个对象 ==》

例如:1,DOM document Object Model(将HTML文档表示成js的对象) document.getElement...获取内容

2,WebElement==>将html的标签表示成python的object对象,web_ele.text web_ele.get_attribute()来访问属性

3,DOM-->python 的object对象,这就是PO模式的由来

--PageObject==》1.WebElement(元素) 2.元素操作(点击,拖拽) 均属于PageObject的组成部分,(就是一个页面一个文件封装)

  • PO模式是一种自动化测试设计模式,将业务逻辑和测试逻辑分开,也就是把对象的定位和测试脚本分开,从而提高可维护性。(换个项目只要改写业务逻辑不用改动测试逻辑)
  • 使业务更清晰
  • 代码更利于维护
  • 可以复用

 

首页里面的逻辑封装到一个页面 --HomePage

--方法和逻辑封装到登陆页面 --LoginPage

投资BidPage,蜂群 UserPage

原理:

将页面的元素定位和元素行为封装成一个page类

类的属性:元素的定位

类的行为:元素的操作

页面对象和测试用例分离

测试用例:调用页面所需对象的行为,组成测试用例

好处:

  • 当某个页面的元素发生变化,只需要修改该页面对象中的代码即可,测试用例不需要修改--可维护性
  • 提高代码重用率,结构清晰,维护代码更容易
  • 测试用例发生变化时,不需要或只需要修改少数页面对象代码即可--复用性

为什么不能用函数封装?
# 多个不同的函数都公用一个形参,共享的实际参数可以作为一个属性
# 在类中属性表示共同特征
# 不利于在多个函数之间共享变量

#类就是这种共享数据的一种形式
---那么以上是可以封装成一个类的, class LoginPage

 

 

PO模式
PO是Page Object的缩写,PO模式是自动化测试项目开发实践的最佳设计模式之一。
核心思想是通过对界面元素的封装减少冗余代码,同时在后期维护中,若元素定位发生变化, 只
需要调整页面元素封装的代码,提高测试用例的可维护性、可读性。
PO模式可以把一个页面分为三层,对象库层、操作层、业务层。
对象库层:封装定位元素的方法。
操作层:封装对元素的操作。
业务层:将一个或多个操作组合起来完成一个业务功能。比如登录:需要输入帐号、密码、点
击登录三个操作。
2.1 引入PO模式的好处
引入PO模式前
存在大量冗余代码
11黑马程序员-软件测试
业务流程不清晰
后期维护成本大
引入PO模式后
减少冗余代码
业务代码和测试代码被分开,降低耦合性
维护成本降低

 

 

 

 

ddt数据驱动:每个测试数据相互独立(解决的问题)

用try except可以接受抛出的异常用例,继续执行后续用例,否则一条用例失败,后面的用例都无法执行

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM