千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > 一文带你上手自动化测试中的PO模式

一文带你上手自动化测试中的PO模式

来源:千锋教育
发布人:zyh
时间: 2023-06-26 13:26:00 1687757160

  自动化测试在软件测试项目团队中发挥着重要的作用,同时合理地开展自动化测试,可以有效降低错误修复成本,提高工作效率。

  下面就以web自动化测试为例来说明POM模式:python+Selenium+pytest框架下,完成自动化测试用例的编写,管理,运行和出报告,似乎是一项非常简单的工作过程,随在项目进展,特别是迭代频繁的敏捷项目研发方式下,有些自动化测试人员实现的那些低质量测试脚本往往会引发后期高昂的代码维护成本,随着时间的推移所谓的自动化测试变得好像忘了初衷了。

  POM模式中解决测试脚本质量低下的一种很实用的方法。下面我来向大家介绍一下POM分离模式的思维:

自动化测试中的PO模式

  pom分离:

  POM分离 page- object-module--是一种思维

  采用POM目的:为了解决前端中UI变化频繁,从而造成测试自动化脚本维护的成本越来越大

  POM思路:把页面元素和业务逻辑和测试脚本分离开到两个不同的类文件。class A只写页面元素定位,和业务逻辑代码操作的封装,class B只写测试脚本,

  POM主要有以下优点:

  1.把web ui对象仓库从测试脚本分离,业务代码和测试脚本分离。

  2.每一个页面对应一个页面类,页面的元素写到这个页面类中。

  3.页面类主要包括该页面的元素定位,和和这些元素相关的业务操作代码封装的方法。

  4.代码复用,从而减少测试脚本代码量。

  5.层次清晰,同时支持多个编写自动化脚本开发,例如每个人写哪几个页面,不影响他人。

  6.建议页面类和业务逻辑方法都给一个有意义的名称,方便他人快速编写脚本和维护脚本。

  实例如下:

  1.测试脚本

1684303685928.图片1

  2.业务逻辑

1684303695783.图片2

  3.界面元素

1684303707269.图片3

  4.再次封装

1684303718461.图片4

  5.使用最新封装内容

1684303726916.图片5

  都说良好的开端是成功的一半,自动化测试框架的落地也是如此,在测试框架实现之前,我们需要全方位考滤后才能设计出面对避无可避的UI元素变更的好的框架。有时候我们第一个想到的是如何将那些变更频率不高的功能模块实现自动化,而对那些变更频率高的功能模块有什么方式能够降低我们未来对于代码调整带来的高昂成本呢?要做到“子落而满盘活”,而不是“牵一发而动全身”。我们是否能对变更进行限制,只动一个地方,并且让每个与之相关的测试脚本都能使用它?答案一定是完全一致肯定的-------POM模式可以帮我们实现。

  如果该web页面元素发生了变化,我们只需要在其对应的类文件中进行修改就可以了,而不必在多个不同的脚本去搜索查找并一一更新。这种方法就是页面对象模型(POM),它有助于提高代码的可读性、可维护性和可重用性。

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT