selenium-webdriver - Selenium 中页面对象模型的缺点

标签 selenium-webdriver pageobjects

关闭。这个问题是opinion-based .它目前不接受答案。












想改进这个问题?更新问题,以便 editing this post 可以用事实和引用来回答它.

7年前关闭。




Improve this question




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

最佳答案

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

优势:

  • 对象存储库 :您可以创建按页面分段的字段的对象存储库。因此,这也提供了应用程序的页面存储库。每个页面都将被定义为一个 java 类。页面中的所有字段都将在接口(interface)中定义为成员。然后该类将实现该接口(interface)。
  • 功能封装 :可以在页面上执行的所有可能的功能或操作都可以定义并包含在为每个页面创建的同一类中。这允许对每个页面的功能进行清晰的定义和范围。
  • 低维护 :任何用户界面更改都可以迅速实现到接口(interface)和类中。
  • 程序员友好 : 健壮且更具可读性。面向对象的方法使框架程序员友好。
  • 低冗余 : 有助于减少代码重复。如果架构被正确和充分定义,POM 可以用更少的代码完成更多工作。
  • 高效且可扩展 :比读取/写入 Excel 工作表的其他关键字驱动/数据驱动方法更快。

  • 缺点
  • 高设置时间和工作量 : 开发自动化框架的初期投入很高。对于具有数百/数千页的 Web 应用程序,这是 POM 的最大权重。强烈建议如果决定实现此模型,则应与应用程序的开发并行进行。引用 V-Model用于软件开发生命周期。
  • 熟练工 :在这种情况下,技术上不健全或不了解编程最佳实践的测试人员是一场噩梦。也许这是最大的错误,雇用非熟练劳动力希望在实现过程中对他们进行培训。不熟练的测试人员需要接受训练营才能为这样的工作做好准备。此外,框架的架构在开发前应明确、完整地定义,以避免后期出现任何漏洞。每个应用程序都是不同的,它可能需要针对它进行显着定制的自动化框架。
  • 具体 : 不是通用模型。使用 POM 方法开发的自动化框架特定于应用程序。与关键字驱动/数据驱动的框架不同,它不是通用框架。

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

    关于selenium-webdriver - Selenium 中页面对象模型的缺点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26688809/

    相关文章:

    java - Selenium Java - 页面对象模型查询

    asp.net - 将异常信息从 Global.asax 传递到 ErrorPage.aspx

    java - 方法中每次运行新值

    java - 如何跳过表格行

    selenium - 如何修复此Selenium错误: bind() failed: Cannot assign requested address (99)

    java - 从页面对象返回操作返回什么页面对象

    java - 使用 Selenium 的页面对象设计模式是否创建页面类并通过它们的对象调用它们的构造函数?

    javascript - 如果我没有全局安装 selenium-webdriver,我该如何更新它?

    java - 代码错误 "org.openqa.selenium.remote.DriverCommand.NEW_SESSION"

    javascript - 我需要使用 Protractor 初始化 Spec 文件中的页面对象吗?