gpt4 book ai didi

java - 具有层次结构的页面的页面对象的体系结构/设计 : menu-items/menu-sub-items/menu-sub-items-tabs

转载 作者:行者123 更新时间:2023-12-01 04:27:48 28 4
gpt4 key购买 nike

我正在使用 selenium webdriver 为单页 Web 应用程序开发一个 Java 框架,使用以下模式:PageObject、SlowLoadableComponent(责任链)、PageFactory、HaveExpectedControls(每个页面都知道它应该包含哪些元素并通过 .获取预期控件)

所以我创建并使用我的页面,例如:

LoginPage loginPage = new LoginPage(driver, "http://mywebapp.com");
mainPage MainPage = new MainPage(driver, loginPage, "password");
mainPage.get(); //this method checks whether page .isLoaded(), if not - calls its .load() method and finally assert it .isLoaded()
for (WebElement element: mainPage.getExpectedControls()) {
assertTrue(element.isDisplayed);
}

我当前的目标是:测试用户在浏览我的网络应用程序时可以执行的所有“路径”。

一切都很简单,直到我进入我的网络应用程序层次结构中“更深”的页面......

我的页面可以表示如下

------------
|Login Page|
------------
->
|------------------------------
|LogoutLink
|---------------------------------
|mode: _ standart _ expert| __________________
|-------------------------| |SystemSettingsTab1|SystemSettingsTab2|SystemSettingsTab3
|*MainPage menu item | | ----------------------------------------
|*SomeOther menu item | | |
|... | | |
|*System menu item >->
|** Settings sub item >->
|... | |
|** OneMore sub item | |

这里有一些“规则”以供更多解释:

First you get Login Page
Then (if loged in) you allways get 'MainPage menu item' (and 'standard' mode checked)
You allways see (so can click only what you see):
- only that sub-menu-items that are inside 'current' menu item page
- only that sub-menu-items-tabs that are:
- inside current sub-menu-item
- is correspondent to the current mode ('expert' mode allows more tabs)
Once clicked on any 'item' you allways get its first 'child item'
Then whatever you do you can:
- logout
- switch to any 'item' which you can see (check correspondent section above):
i.e.:
- switch to any other menu-item page by clicking on it
- switch to any of sub-menu-items of the current menu-item:
there is a special case for 'the first sub-menu-item':
you can get it by:
- clicking on its sub-menu-item link
- on its parent menu-item
- switch to any of sub-menu-item-tabs of current sub-menu-item
there is a special case for 'the first sub-menu-item-tab':
you can get it by:
- clicking on its sub-menu-item-tab link
- on its parent sub-menu-item
- on its parent menu-item

问题:如何设计:

  • 我的所有页面的类层次结构?

  • 我可以在测试中浏览它们的方式?(特别是包括特殊情况,我可以通过多个链接获取某些页面)

最佳答案

我认为以下将是一个简单而有效的解决方案,

  1. 主页类,具有导航(或单击)其他菜单项和注销的方法。
  2. 每个菜单项的类以及子菜单项的方法,扩展主页面类

关于java - 具有层次结构的页面的页面对象的体系结构/设计 : menu-items/menu-sub-items/menu-sub-items-tabs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18351660/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com