Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Инкапсуляция обхода деревьев UI меню: прокликивание сверху в глубь при вводном параметре - конечный элемент

selenium
webdriver
java
Теги: #<Tag:0x00007f7b60c946f8> #<Tag:0x00007f7b60c944c8> #<Tag:0x00007f7b60c942e8>

(Vatslau) #1

В меня конечно полетят камни(или яблоки) - что это не правильно
Но собственно кто-нибудь делал построение дерева меню чтобы по чайлду прокликать его от первого родителя

Пока в стиле кисс сделал примитивные методы (слава богу, меню перебирается отдним селектором)

  private SelenideElement folder(final String FOLDER_NAME) {
        return $(byXpath(String.format("//span[@unselectable='on'][text()='%s']", FOLDER_NAME)));
    }

  public FolderTree clickFolder(final String FOLDER_NAME) {
        folder(FOLDER_NAME).shouldBe(visible, enabled).click();
        return this;
    }

  public FolderTree openTaxonomy(final String[] TREE) {
        //Elements should be from root to last level
        for (String item : TREE) {
            clickFolder(item);
            sleep(2000);
        }
        return this;
    }

Учитывая что таких путей море)
хотелось бы запухнуть все данные в струтуру и просто итерировать введя CHILD NAME.

В процессе гугления
http://qaru.site/questions/16983/java-tree-data-structure
понял что вариантов решения много.
приглянулся вот такой вариант


вроде можно быстро собрать дерево и проитерировать.

Если кто делал такие таски - поделитесь опытом какой вариант оптимальный)