使用页面对象进行Selenium测试是否有任何缺点?
答案 0 :(得分:15)
页面对象模型最适合具有多个页面或状态的应用程序。每个字段都有可以相对于页面唯一引用的字段。
<强>优点:强>
对象存储库:您可以创建按页面分段的字段的对象存储库。因此,这也提供了应用程序的页面存储库。每个页面都将被定义为java类。页面中的所有字段都将作为成员在界面中定义。然后该类将实现该接口。
功能封装:可以在页面上执行的所有可能的功能或操作都可以定义并包含在为每个页面创建的同一个类中。这样可以清晰地定义每个页面的功能。
低维护:任何用户界面更改都可以迅速实现到界面和课程中。
程序员友好:强大且可读性更强。面向对象的方法使框架程序员友好。
低冗余:有助于减少代码重复。如果架构正确且充分定义,POM可以用更少的代码完成更多工作。
高效&amp;可扩展:比其他要读/写Excel工作表的关键字驱动/数据驱动方法更快。
<强>缺点强>
高设置时间&amp;努力:自动化框架开发的初期投入很高。对于具有数百/数千页的Web应用程序,这是POM的最大权重。强烈建议如果决定实施该模型,那么它应该与应用程序的开发并行完成。请参阅V-Model了解软件开发生命周期。
技术熟练:在这种情况下,测试人员在技术上不健全或不了解编程最佳实践是一场噩梦。也许这是最大的错误,雇用非熟练劳动力,希望在实施过程中对他们进行培训。不熟练的测试人员需要接受培训训练营才能为此类事业做好准备。此外,框架的体系结构应在开发之前明确而完整地定义,以避免后期阶段出现任何漏洞。每个应用程序都是不同的,它可能要求自动化框架为其量身定制。
具体:不是通用模型。使用POM方法开发的Automation Framework是特定于应用程序的。与关键字驱动/数据驱动的框架不同,它不是通用框架。
无论缺点如何,POM可能是针对任何Web应用程序的最有效和强烈推荐的方法。随着框架的成熟,可能更容易将其从POM方法修改为混合框架而不是其他关键字/数据驱动方法。