zoukankan      html  css  js  c++  java
  • 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(),通过方法名即可清晰的知道具体的功能实现。

  • 相关阅读:
    PHP保留小数的相关方法
    ASP.NET Core MVC 之过滤器(Filter)
    ASP.NET Core MVC 之控制器(Controller)
    ASP.NET Core MVC 之视图组件(View Component)
    ASP.NET Core MVC 之局部视图(Partial Views)
    标签助手(TagHelper)
    ASP.NET Core MVC 之布局(Layout)
    ASP.NET Core MVC 之视图(Views)
    ASP.NET Core MVC 之模型(Model)
    九卷读书:淘宝从小到大的发展 -重读《淘宝技术这十年》
  • 原文地址:https://www.cnblogs.com/zhangxue521/p/13359232.html
Copyright © 2011-2022 走看看