码迷,mamicode.com
首页 > 其他好文 > 详细

Selenium的PO模式:Page Object Model

时间:2020-01-25 18:17:18      阅读:69      评论:0      收藏:0      [点我收藏+]

标签:bsp   实现   定位   obj   不同   find   col   分层   元素操作   

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

标签:bsp   实现   定位   obj   不同   find   col   分层   元素操作   

原文地址:https://www.cnblogs.com/shouhu/p/12233225.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!