java - 我们是否应该为带有选择下拉菜单的弹出窗口编写单独的页面对象?

标签 java selenium pageobjects

我是使用 selenium 和 java 进行页面对象模型自动化的新手。我正在使用页面对象模型,并将每个页面作为一个类,并将该页面中的操作作为方法。 我们是否应该为提交表单时出现的简单弹出窗口编写单独的页面对象。此弹出窗口用于选择服务类型,接下来将根据选择打开正确的表格。在弹出之前和之后的页面,我都有“页面对象”。但是对于这个,我只是插入了一个直接代码来选择一个选项并单击下一步按钮。我应该为此弹出窗口创建一个单独的页面对象类吗?(因为这不是页面)。弹出窗口有 3 个选项和一个下一步按钮以继续。

最佳答案

请阅读this Martin Follower's article - Page Object .

引述:

Despite the term "page" object, these objects shouldn't usually be built for each page, but rather for the significant elements on a page

想象一个页面有十几个选项卡、面板等,每个都有几个字段、按钮等。为这样的页面创建一个巨大的类是不切实际的,它肯定有 300-500 或更多代码行。这样的类将很难维护。

最好(在我看来)创建几个小类(页面对象),每个用于页面的特定部分,每个只包含几个元素,每个不超过 50-100 行代码。我们称这些类为页面片段而不是页面对象,但概念是相同的。

但因人而异,每个人对这个话题可能会有不同的看法。

关于java - 我们是否应该为带有选择下拉菜单的弹出窗口编写单独的页面对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47140697/

相关文章:

java - Java Object Reference 发布不当

java - 向 JNA 类 Java (Kernel32) 添加另一个方法

python - js后端无法点击下载链接

selenium - 使用 Screenplay 模式而不是 Page 对象的优点/缺点是什么?

c# - 使用 Selenium PageObject 设计模式的最佳方式是什么

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

java - 变量应该在监听器中是最终的

java - 如何返回第二个值

selenium - 在 jenkins 中运行我的 selenium 项目时出现 Maven 错误

java - ChromeDriver 用selenium JAVA找不到页面上的元素