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设计模式