PO模式介绍

PO模式介绍目标1.深入理解PO模式的思想2.熟练掌握PO模式的分层思想1.存在的问题在做UI自动化时定位元素特别依赖页面,一旦页面发生变更就不得不跟着去修改定位元素的代码。举例:假设要对一个元素进行点击操作,而且会经常对该元素进行操作,那么你就可能会编写多处如下代码 1 driver.find_element_by_id(“login-btn”…

大家好,又见面了,我是你们的朋友全栈君。

目标

1. 深入理解PO模式的思想

2. 熟练掌握PO模式的分层思想

1. 存在的问题

在做UI自动化时定位元素特别依赖页面,一旦页面发生变更就不得不跟着去修改定位元素的代码。

举例:假设要对一个元素进行点击操作,而且会经常对该元素进行操作,那么你就可能会编写多处如下代码

 

1

driver.find_element_by_id("login-btn").click()

存在的问题:

如果开发人员修改了这个元素的id,这时候你就不得不修改所有对应的代码存在大量冗余代码

思考:如何来解决这个问题呢?

 

1. PO模式

PO是Page Object的缩写,PO模式是自动化测试项目开发实践的最佳设计模式之一。

核心思想是通过对界面元素的封装减少冗余代码,同时在后期维护中,若元素定位发生变化, 只需要调整页面元素封装的代码,提高测试用例的可维护性、可读性。

PO模式可以把一个页面分为三层,对象库层、操作层、业务层。

 

对象库层:封装定位元素的方法。操作层:封装对元素的操作。

业务层:将一个或多个操作组合起来完成一个业务功能。比如登录:需要输入帐号、密码、点击登录三个操作。

 

2.1 引入PO模式的好处

引入PO模式前

存在大量冗余代码

业务流程不清晰后期维护成本大

引入PO模式后

 

减少冗余代码

业务代码和测试代码被分开,降低耦合性维护成本低

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/131665.html原文链接:https://javaforall.net

(0)
上一篇 2022年4月30日 上午6:40
下一篇 2022年4月30日 上午6:40


相关推荐

  • 回溯法之n皇后问题总结_用回溯法求解n皇后问题的思路

    回溯法之n皇后问题总结_用回溯法求解n皇后问题的思路一、问题在nxn格的棋盘上放置彼此不受攻击的n格皇后。按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。n后问题等价于在nxn格的棋盘上放置n个皇后,任何2个皇后不放在同一行或同一列或同一斜线上。二、算法与分析用数组x[i](1≤i≤n)表示n后问题的解。其中x[i]表示皇后i放在棋盘的第i行的第x[i]列。由于不允许将2个皇后放在同一列,所以解向量中的x[i]…

    2022年9月30日
    5
  • Python之字典添加元素

    Python之字典添加元素手动推荐知识点字典创建->创建字典(7种方式)删除元素->字典删除元素(6种方式)修改元素->字典修改元素(4种方式)遍历元素->字典遍历元素(4种方式)查找元素->字典查找元素(3种方式)本文使用代码book_dict={“price”:500,”bookName”:”Python设计”,”weight”:”250g”}第一种方式:使用[]book_dict[“owner”]=”tyson”说明:中.

    2022年6月17日
    47
  • Ubuntu 18.04换国内源 中科大源 阿里源 163源 清华源

    Ubuntu 18.04换国内源 中科大源 阿里源 163源 清华源国内有很多Ubuntu的镜像源,包括阿里的、网易的,还有很多教育网的源,比如:清华源、中科大源。我们这里以中科大的源为例讲解如何修改Ubuntu18.04里面默认的源。编辑/etc/apt/sources.list文件,在文件最前面添加以下条目(操作前请做好相应备份):##中科大源debhttps://mirrors.ustc.edu.cn/ubuntu/bionic…

    2022年5月15日
    59
  • Unity中的Shuriken粒子系统(3)

    Unity中的Shuriken粒子系统(3)粒子的发射和粒子发射范围设置 1 Emission 模块 Emission 表示发射的意思 RateoverTime 表示每秒发射多少个粒子 RateoverDist 表示单位的移动距离发出的粒子数 Bursts 表示爆发 点击 Bursts 右下角的加号 即可添加一次爆发图片上的 Bursts 表示 0 秒的时候 一次性发射 30 个粒子 默认每 5 秒一次循环 Min 和 Max 控制粒子发射的

    2026年3月18日
    2
  • word2016在试图打开文件时遇到错误

    word2016在试图打开文件时遇到错误从网上下载的文件遇到这种情况:解决方法:

    2022年4月30日
    44
  • mac android 录屏软件,mac录屏怎么录内置声音?详细的解决方案[通俗易懂]

    mac android 录屏软件,mac录屏怎么录内置声音?详细的解决方案[通俗易懂]原标题:mac录屏怎么录内置声音?详细的解决方案mac录屏怎么录内置声音?大家使用Mac电脑最大的问题就是对操作系统的不熟悉,就像是刚接触Windows系统一样,开始都会有一定的不熟悉,其实并没有那么难。很多人会使用QuickTimePlayer工具来操作,但实际上很多人在实际上操作这个方法来录制屏幕的时候会没有声音,这种情况还挺多的。比如现在拥有一个场景:有一个很萌或者很有用的视频,无法下载到…

    2022年4月30日
    80

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号