自动化测试的PO模式「建议收藏」

自动化测试的PO模式「建议收藏」什么是PO?1.页面对象模型(PO)是一种设计模式,用来管理维护一组页面元素的对象库.2.在PO下,应用程序的每一个页面都有一个对应的Page类.3.每一个Page类维护着该页面的元素集和操作这些元素的方法.PO的好处?1.代码可读性强2.可维护性高3.复用性高怎么设计PO?设计的原则1.抽象每一个页面2.页面中元素不暴露,仅报错操作元素的方法3.页面不应该有繁琐的继承关…

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

什么是PO?

1.页面对象模型(PO)是一种设计模式,用来管理维护一组页面元素的对象库.

2.在PO下,应用程序的每一个页面都有一个对应的Page类.

3.每一个Page类维护着该页面的元素集和操作这些元素的方法.

在这里插入图片描述

PO的好处?

1.代码可读性强

2.可维护性高

3.复用性高

怎么设计PO?

设计的原则
1.抽象每一个页面

2.页面中元素不暴露,仅报错操作元素的方法

3.页面不应该有繁琐的继承关系

4.页面中不是所有元素都需要涉及到,核型业务元素做建模使用

5.把页面划分功能模块,在Page中实现这些功能方法

在这里插入图片描述

下面我们看下PO的代码目录组织示例:

在这里插入图片描述

PO的优势
1、PO提供了一种业务流程与页面元素操作分离的模式,这使得测试代码变得更加清晰。

2、页面对象与用例分离,使得我们更好的复用对象。

3、可复用的页面方法代码会变得更加优化

4、更加有效的命名方式使得我们更加清晰的知道方法所操作的UI元素。例如我们要回到首页,

 方法命名为:gotoHomePage(),通过方法名即可清晰的知道具体的功能实现。

PO实现示例
下面看下使用PO设计模式构建的百度搜索用例,先看下代码组织结构如下:
在这里插入图片描述

#basePage.py代码如下
在这里插入图片描述

#searchPage.py代码如下
在这里插入图片描述

#testSearchPage.py代码如下

在这里插入图片描述

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

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

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • nodejs安装与环境变量配置[通俗易懂]

    nodejs安装与环境变量配置[通俗易懂]NodeJsNode.js简介发展史特性模块下载nodejs系统环境nodejs(msi)方式的安装nodejs(zip)方式的安装环境配置Linux下安装Node测试参考资料Node.js简介Node是一个让JavaScript运行在服务端的开发平台,它让JavaScript成为与PHP、Python、Perl、Ruby等服务端语言平起平坐的脚本语言。发布于2009年5月,由R…

    2022年6月12日
  • 字符串分割方法代码

    字符串分割方法代码

    2021年8月24日
  • php网页运行不出来_phpstudy启动后就停止

    php网页运行不出来_phpstudy启动后就停止phpstudy中的nginx无法启动,报错:10049最近使用phpstudy的nginx+php环境编写laravel项目,老是报错,nginx无法启动,闪了一下,又变成了红色。下面整理一下解决方案:1.查看nginx的配置文件,一般是80端口,我这里根据不同项目修改了,所以我的是8093:2.win+R键,输入cmd,输入端口查询命令netstat-aon|findstr80,查看响应端口是否被占用,这里举例80端口;3.可以看到占用80端口程序的pid是3364,然后输入命令task

    2022年9月28日
  • mysql 视图 索引_mysql不走索引的情况

    mysql 视图 索引_mysql不走索引的情况mysql 索引和事务、视图

    2022年4月20日
  • mysql批量新增数据_word修改内容目录怎么更新

    mysql批量新增数据_word修改内容目录怎么更新建表CREATETABLE`t`(`id`int(11)NOTNULL,`age`int(11)DEFAULTNULL,`name`varchar(20)DEFAULTNULL,PRIMARYKEY(`id`))ENGINE=InnoDBDEFAULTCHARSET=utf81.insertintovalues、inser…

    2022年10月6日
  • OleDbCommand 的特点

    OleDbCommand 的特点OleDbCommand的特点在于以下对数据源执行命令的方法:ExecuteReader 执行返回行的命令。如果用ExecuteReader执行如SQLSET语句等命令,则可能达不到预期的效果。ExecuteNonQuery 执行SQLINSERT、DELELE、UPDATE和SET语句等命令。ExecuteScalar 从数据库中检索单个值(例如一个聚合值)。您

    2022年5月19日

发表回复

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

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