【问题标题】:Disadvantages of Page Object Model in Selenium [closed]Selenium 中页面对象模型的缺点
【发布时间】:2014-11-01 11:21:17
【问题描述】:
使用页面对象进行 Selenium 测试有什么缺点吗?
【问题讨论】:
标签:
selenium-webdriver
pageobjects
【解决方案1】:
页面对象模型最适合具有多个页面或状态的应用程序。每个都有可以在页面中唯一引用的字段。
优点:
对象存储库:您可以创建按页面分段的字段的对象存储库。因此,这也提供了应用程序的页面存储库。每个页面都将被定义为一个 java 类。页面中的所有字段都将在接口中定义为成员。然后该类将实现该接口。
功能封装:可以在页面上执行的所有可能的功能或操作都可以定义并包含在为每个页面创建的同一类中。这允许对每个页面的功能进行清晰的定义和范围。
低维护量:任何用户界面更改都可以迅速实施到界面和类中。
对程序员友好:强大且更具可读性。面向对象的方法使框架程序员变得友好。
低冗余度:有助于减少代码重复。如果架构定义正确且充分,POM 可以用更少的代码完成更多工作。
高效且可扩展:比读取/写入 Excel 工作表的其他关键字驱动/数据驱动方法更快。
缺点
设置时间和工作量高:自动化框架开发的初始投入很高。对于具有数百/数千页的 Web 应用程序,这是 POM 的最大权重。强烈建议如果决定实施此模型,则应与应用程序的开发并行进行。请参阅 V-Model 了解软件开发生命周期。
熟练工人:在这种情况下,技术上不健全或不了解编程最佳实践的测试人员是一场噩梦。也许这是最大的错误,雇用非熟练劳动力希望在实施过程中对他们进行培训。不熟练的测试人员需要接受训练营才能为这样的工作做好准备。此外,框架的架构在开发前应明确、完整地定义,以避免后期出现任何漏洞。每个应用程序都是不同的,可能需要针对它进行大量定制的自动化框架。
特定:不是通用模型。使用 POM 方法开发的自动化框架特定于应用程序。与关键字驱动/数据驱动的框架不同,它不是通用框架。
不管有什么缺点,POM 可能是对任何 Web 应用程序最有效和强烈推荐的方法。随着框架的成熟,从 POM 方法将其修改为混合框架可能比从其他关键字/数据驱动方法更容易。