什么?你还不明白自动化的POM设计模式?

POM简介、POM优势、如何设计POM


POM简介

    Page Object Model (POM) 直译为“页面对象模型”,这种设计模式旨在为每个待测试的页面创建一个页面对象(class),将那些繁琐的定位操作封装到这个页面对象中,只对外提供必要的操作接口,是一种封装思想。

POM是什么

    页面根据系统或者模块来管理

    例如:xx系统或模块,涉及到哪几个页面

    元素根据页面来进行管理

     例如:测试xx页面,需要用到哪些元素


POM的优势

为什么要使用POM

    少数的自动化测试用例维护起来看起来是很容易的。但随着时间的迁移,测试套件将持续的增长。脚本也将变得越来越臃肿庞大。如果变成我们需要维护10个页面,100个页面,甚至1000个呢?而且页面元素很多是公用的。那页面元素的任何改变都会让我们的脚本维护变得繁琐复杂,而且变得耗时易出错。

POM好处有哪些?

    让UI自动化更早介入项目中,可项目开发完再进行元素定位的适配与调试

    POM 将页面元素定位和业务操作流程分开,分离了测试对象和测试脚本.

    如果UI页面元素更改,测试脚本不需要更改,只需要更改页面对象中的某些代码就可以

    POM能让我们的测试代码变得可读性更好,高可维护性,高复用性,

    可多人共同维护开发脚本,利于团队协作


如何设计POM

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

在POM下,被测项目的每一个页面都有一个对应的page class

    每一个page class维护着该web页的元素定位集和

    每一个page class维护着该web页的操作这些元素的方法

 login_page.py 文件,作用是管理登录页面的元素

common.py文件,作用是封装一些常用的方法,比如等待,发送信息等

TestCase测试用例

总结:
如果对软件测试、接口测试、自动化测试、性能测试、持结集成、面试经验交流。感兴趣可以902061117,群内会有不定期的发放免费的资料链接,这些资料都是从各个技术网站搜集、整理出来的,如果你有好的学习资料可以私聊发我,我会注明出处之后分享给大家。

原文地址:https://www.cnblogs.com/zzpython/p/13099514.html