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可以接受抛出的异常用例,继续执行后续用例,否则一条用例失败,后面的用例都无法执行
最新文章
- java数据传递例子+内存分析
- :尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题。 --->; System.BadImageFormatException: 试图加载格式不正确的程序。
- MySQL中的增删改查
- 实施vertex compression所遇到的各种问题和解决办法
- CentOS7 Debian 8 安装VMware-tools
- java和linux的编码
- Washing Clothes_01背包
- Codeforces 552E - Vanya and Brackets【表达式求值】
- Arctic Network
- Number Steps
- Java线程池ExecutorService
- 【读书笔记】【深入理解ES6】#4-扩展对象的功能性
- WebDriverAgent入门篇-安装和使用
- Spock - Document -05 - Extensions
- welcome-file-list修改后不生效
- Caffe + Ubuntu 14.04 64bit + CUDA 6.5 配置说明2
- Monkey Android app稳定性测试工具之Monkey使用教程
- 恢复Ext3下被删除的文件
- 配置动态加载模块和js分模块打包,生产环境和开发环境公共常量配置
- 1000! mod 10^250