Selenium中页面对象模型的缺点

Nee*_*mar 4 pageobjects selenium-webdriver

使用页面对象进行Selenium测试有什么缺点吗?

Zee*_*qui 17

页面对象模型最适合具有多个页面或状态的应用程序.每个字段都有可以相对于页面唯一引用的字段.

好处:

  1. 对象存储库:您可以创建按页面分段的字段的对象存储库.因此,这也提供了应用程序的页面存储库.每个页面都将被定义为java类.页面中的所有字段都将作为成员在界面中定义.然后该类将实现该接口.

  2. 功能封装:可以在页面上执行的所有可能的功能或操作都可以定义并包含在为每个页面创建的同一个类中.这样可以清晰地定义每个页面的功能.

  3. 低维护:任何用户界面更改都可以迅速实现到界面和类中.

  4. 程序员友好:强大且可读性更强.面向对象的方法使框架程序员友好.

  5. 低冗余:有助于减少代码重复.如果架构正确且充分定义,POM可以用更少的代码完成.

  6. 高效和可扩展:比读取/写入Excel工作表的其他关键字驱动/数据驱动方法更快.

缺点

  1. 高安装时间和努力:自动化框架开发的初期投入很高.对于具有数百/数千页的Web应用程序,这是POM的最大权重.强烈建议如果决定实施该模型,那么它应该与应用程序的开发并行完成.请参阅软件开发生命周期的V模型.

  2. 熟练劳动力:在这种情况下,技术上不健全或没有编程最佳实践的测试人员是一场噩梦.也许这是最大的错误,雇用非熟练劳动力,希望在实施过程中对他们进行培训.不熟练的测试人员需要接受培训训练营才能为此类事业做好准备.此外,框架的体系结构应在开发之前明确而完整地定义,以避免后期阶段出现任何漏洞.每个应用程序都是不同的,它可能要求自动化框架针对它进行大量定制.

  3. 具体:不是通用模型.使用POM方法开发的Automation Framework是特定于应用程序的.与关键字驱动/数据驱动的框架不同,它不是通用框架.

无论缺点如何,POM可能是针对任何Web应用程序的最有效和强烈推荐的方法.随着框架的成熟,可能更容易将其从POM方法修改为混合框架,而不是从其他关键字/数据驱动方法.