Selenium WebDriver 页面对象导航最佳实践
Selenium WebDriver page object navigation best practice
我主要使用基于 Java 的 Page Object/Page 工厂方法实现框架,我想改进我现有的代码库。
我的问题是:
我的方法是 returning 页面对象。(return PageFactory.initelements(...));我读过一些评论,这不是最好的方法,因为所有测试都取决于框架开发人员。我敢肯定,通用方法会更好!有什么建议吗?
导航模块在每个页面上都很常见,所以我的想法是使用helper/utility class以便轻松到达常用的导航方法。普通静态方法才是正确的实现方式'do not repeat yourself goal'?为什么要在每个页面对象上重复所有导航方法?
如有任何建议,我们将不胜感激。
谢谢。
Q1。我也使用页面 object 模型,但从未实现页面 object 的返回。我不知道……我就是不喜欢这个主意。我不认为这一定是坏事,我认为这只是意味着你必须创建更多的方法来做同样的事情。您必须执行多种方法中的两种,一种用于预期的成功,一种用于预期的失败,例如Login()
和 FailedLogin()
.
Q2。第 object 页不必是页面。我有 header 和包含 header 和页脚导航链接等的页脚页面 objects。在多个页面上重复的页面部分进入 header第 object 页。每当我到达任何页面并需要 header 区域中的内容时,我都会实例化 header 页面 object 并使用它。
我主要使用基于 Java 的 Page Object/Page 工厂方法实现框架,我想改进我现有的代码库。
我的问题是:
我的方法是 returning 页面对象。(return PageFactory.initelements(...));我读过一些评论,这不是最好的方法,因为所有测试都取决于框架开发人员。我敢肯定,通用方法会更好!有什么建议吗?
导航模块在每个页面上都很常见,所以我的想法是使用helper/utility class以便轻松到达常用的导航方法。普通静态方法才是正确的实现方式'do not repeat yourself goal'?为什么要在每个页面对象上重复所有导航方法?
如有任何建议,我们将不胜感激。
谢谢。
Q1。我也使用页面 object 模型,但从未实现页面 object 的返回。我不知道……我就是不喜欢这个主意。我不认为这一定是坏事,我认为这只是意味着你必须创建更多的方法来做同样的事情。您必须执行多种方法中的两种,一种用于预期的成功,一种用于预期的失败,例如Login()
和 FailedLogin()
.
Q2。第 object 页不必是页面。我有 header 和包含 header 和页脚导航链接等的页脚页面 objects。在多个页面上重复的页面部分进入 header第 object 页。每当我到达任何页面并需要 header 区域中的内容时,我都会实例化 header 页面 object 并使用它。