Каков наилучший способ построить структуру данных для проекта Selenium, чтобы проверить, есть ли в меню все необходимые подменю, и проверить, отображаются ли все меню? - PullRequest
0 голосов
/ 06 марта 2019

Я учусь Selenium с помощью Java и у меня есть приложение с верхней строкой меню, которое имеет различные меню с подменю.

Например, я наведу курсор мыши на Меню1 и получаю Подменю1и затем, когда я наведу курсор мыши на Подменю1, я получаю Подменю 2.

Итак, иерархия выглядит так:

MENU_1
SubMenu1_Item1
SubMenu1_Item2
    SubMenu2_Item1
    Submenu2_Item2
SubMenu1_Item3
    SubMenu3_Item1
    Submenu3_Item2
    Submenu3_Item3

Каков наилучший способ создания структуры данных в Java для тестированияесли меню имеют правильные подменю?

Я думал о создании различных типов enum или создании словаря, в котором ключ - это имя подменю, а значение - это имена меню:

Dictionary mainMenu = new Hashtable();
mainMenu.put("SubMenu1_Item1", "MENU_1"); 
mainMenu.put("SubMenu1_Item2", "MENU_1"); 
mainMenu.put("SubMenu1_Item3", "MENU_1"); 

ТакЯ могу сделать то же самое для всех меню, а затем получить все пункты меню с помощью findElements() для конкретного меню и сравнить счетчики или выполнить поиск недостающего меню

Каков наилучший способ сделать все это?Есть предложения?

1 Ответ

0 голосов
/ 06 марта 2019

Перечисление вместе с картой (HashMap или Hashtable) должно быть одним из лучших способов создания структуры данных специально для сценария, который вы упомянули.Вы можете создать Enum, как показано ниже, и сохранить связанные детали подменю с помощью hashmap, а затем получить его для проверки.

public enum Menu1 {
    SUBMENU_Key_1,
    SUBMENU_Key_2,
    SUBMENU_Key_3,
    SUBMENU_Key_4,
    SUBMENU_Key_5;
}

Map<String, Object> subMenuContext = new HashMap<String, Object>();
subMenuContext.put(Menu1.SUBMENU_Key_1,"SUBMENU1_Value");
subMenuContext.put(Menu1.SUBMENU_Key_2,"SUBMENU2_Value");
subMenuContext.put(Menu1.SUBMENU_Key_3,"SUBMENU3_Value");
subMenuContext.put(Menu1.SUBMENU_Key_4,"SUBMENU4_Value");
subMenuContext.put(Menu1.SUBMENU_Key_5,"SUBMENU5_Value");

Надеюсь, это помогло вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...