Selenium的PO模式:Page Object Model

Posted shouhu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Selenium的PO模式:Page Object Model相关的知识,希望对你有一定的参考价值。

PO模式:全称:Page Object Model 简称POM,叫做页面对象,针对页面、UI界面    (译:配只.奥播摘可t.毛豆)

什么是Page Object Model 设计模式?

  • 相似功能地方:
    • 代码基本都是一样的,界面元素换个查找方式,把原来的使用 xpath方式,改为使用 id 查找,需要对每个用例脚本都要改,虽然几个用例看不出什么工作量,但是重复findElement的代码,已经让我们感到了代码的笨重。如果某些定位发生了改变,我们就得贯穿整个测试代码进行调整元素定位,这样就会导致我们的脚本在后期,难以维护。因此通过Page Object Model 我们可以创建更加健壮代码,并减少或者消除重复的测试代码,从而也能够提高代码的可读性,减少编写脚本的工作量。Page Object Model的实现,就是通过分离测试对象和测试脚本的抽象来实现的。
  • PO模式的优势
    • 当某个页面的元素发生变化,只需要修改该页面对象中的代码即可,测试用例不需要修改
    • 提高代码重用性,结构清晰,维护代码更容易
    • 测试用例发生变化时,不需要或者只需要修改少数页面对象即可
  • PO 模式:核心思想
    • 分层设计,分离测试用例 和 测试对象
    • 将页面的元素定位和元素行为 封装成一个 page 类
    • 实现页面对象和测试用例分离
  • 如:
    • 1、系统有30个页面,封装成 30个 页面类,有      元素定位 + 元素操作
    • 2、有500个用例 = 调用 不同的 页面类当中的 元素操作 串联起来
  • 比如:
    • 页面A =功能1,功能2,功能3.
    • 页面B =功能1,功能2,功能3
    • 用例1 =页面A的功能1 +页面A的功能2 +页面B的功能2

 

*******请大家尊重原创,如要转载,请注明出处:转载自:https://www.cnblogs.com/shouhu/,谢谢!!******* 

以上是关于Selenium的PO模式:Page Object Model的主要内容,如果未能解决你的问题,请参考以下文章

Selenium4+Python3系列 - Page Object设计模式

Page Object 设计模式-PO

Page Object 设计模式 与 实战

Selenium2(java)页面对象模型(Page Object) 八

浅析selenium的page object模式

python selenium-8 Page Object模式