A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 我是楠楠 黑马粉丝团   /  2019-9-19 14:30  /  1098 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

【郑州校区】PO模式介绍

目标
1. 深入理解PO模式的思想
2. 熟练掌握PO模式的分层思想
1. 存在的问题
在做UI自动化时定位元素特别依赖页面,一旦页面发生变更就不得不跟着去修改定位元素的代码。
举例:假设要对一个元素进行点击操作,而且会经常对该元素进行操作,那么你就可能会编写多处如下代码

[AppleScript] 纯文本查看 复制代码
driver.find_element_by_id("login-btn").click()
存在的问题:
如果开发人员修改了这个元素的id,这时候你就不得不修改所有对应的代码存在大量冗余代码
思考:如何来解决这个问题呢?

1. PO模式
PO是Page Object的缩写,PO模式是自动化测试项目开发实践的最佳设计模式之一。
核心思想是通过对界面元素的封装减少冗余代码,同时在后期维护中,若元素定位发生变化, 只需要调整页面元素封装的代码,提高测试用例的可维护性、可读性。
PO模式可以把一个页面分为三层,对象库层、操作层、业务层。

对象库层:封装定位元素的方法。操作层:封装对元素的操作。
业务层:将一个或多个操作组合起来完成一个业务功能。比如登录:需要输入帐号、密码、点击登录三个操作。

2.1 引入PO模式的好处
引入PO模式前
存在大量冗余代码
业务流程不清晰后期维护成本大
引入PO模式后

减少冗余代码
业务代码和测试代码被分开,降低耦合性维护成本低

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马