Loading

python+selenium-【一】-PO模式【前章理解】

一、PO模式是什么?

1.1、页面对象模型(PO)是一种设计模式,用来管理维护一组web元素的对象库
2.2、在PO下,应用程序的每一个页面都有一个对应的page class
1.3、每一个page class维护着该web页的元素集和操作这些元素的方法
1.4、page class中的方法命名最好根据对应的业务场景进行,例如登录,
     我们可以这样命名该方法:LoginPage()。
 下面我们看下PO的代码目录组织示例:

 

 

二、为什么要用PO【Page Object】模式?

PO就是一个设计模式,将代码以页面为单位进行组织,针对这个页面上的所有信息,相关操作都放到一个类中;从而使具体的测试用例变成了简单的调用和验证操作。

基于python selenium3开始开始ui自动化测试脚本的编写不是多么艰巨的任务。只需要定位到元素,执行对应元素的操作即可。
下面我们看一下这个简单的脚本实现百度搜索。

 

 

从上述代码来看,我们所能做的就是元素的定位,然后进行键盘输入或鼠标动作。就这个小程序而已,维护起来看起来是很容易的。
但随着时间的迁移,测试套件将持续的增长。脚本也将变的越来越多。如果我们需要维护10个页面,100个页面,甚至1000个呢?
那么页面元素的任何改变都会让我们的脚本维护变得繁琐复杂,而且变得耗时易出错。
那怎么解决呢?ui自动化中,常用的一种方式,引入Page Object(PO):页面对象模式来解决,po能让我们的测试代码变得可读
性更好,可维护性高,复用性高。

 

 

三、PO模式的优势?

3.1、PO提供了一种业务流程与页面元素操作分离的模式,这使得测试代码变得更加清晰。
3.2、页面对象与用例分离,使得我们更好的复用对象。
3.3、可复用的页面方法代码会变得更加优化
3.4、更加有效的命名方式使得我们更加清晰的知道方法所操作的UI元素。例如我们要回到首页,
     方法命名为:gotoHomePage(),通过方法名即可清晰的知道具体的功能实现。

 

 

 

 

 

 

 

 

 

posted @ 2020-07-22 10:34  爱笑的眼睛真美  阅读(622)  评论(0编辑  收藏  举报