Камрады!
На фрейме, представленной ниже страницы, я хочу пробежаться по всем элементам выпадаюзего списка,
кроме ПЕРВОГО и соотвтетсвенно произвести Asserts для каждгого выбранного эдемента. (по нескольким позициям)
Логика выпадаюзего списка - это фильтрация, которая имеет свой pattern и конечное значение (Integer)
Code HTML: (активного элемента)
<div class="ui-select-container selectize-control single ng-not-empty ng-valid ng-touched ng-dirty ng-valid-parse" ng-class="{'open': $select.open}" theme="selectize" ng-model="ctrl.filter.rack.value" on-select="ui.addFilter('rack', ctrl.filter.rack.value)" style=""> <div class="selectize-input selectize-focus" ng-class="{'focus': $select.open, 'disabled': $select.disabled, 'selectize-focus' : $select.focus}" ng-click="$select.open && !$select.searchEnabled ? $select.toggle($event) : $select.activate()" style=""> <div class="ui-select-match ng-scope" ng-hide="$select.searchEnabled && ($select.open || $select.isEmpty())" style=""> <span class="ui-select-placeholder text-muted ng-binding ng-hide" ng-show="!$select.searchEnabled && ($select.isEmpty() || $select.open)"/> <span class="" ng-hide="$select.isEmpty() || $select.open" ng-transclude="" style="">FIX35R01</span> </div> <input class="ui-select-search ui-select-toggle ng-pristine ng-valid ng-empty ng-touched ng-hide" autocomplete="off" tabindex="-1" ng-class="{'ui-select-search-hidden':!$select.searchEnabled}" ng-click="$select.toggle($event)" placeholder="" ng-model="$select.search" ng-hide="!$select.isEmpty() && !$select.open" ng-disabled="$select.disabled" aria-label="Select box" style="width: 190px;" type="search"/> </div>
Code (Java - Selenium)
@Step(description = "filter all Racks Cables assertion") public void assertAllCablesInRacks() { List<WebElement> rackElements = driver.findElements(CablingElements.RACK_FILTER_LIST); //4 elements for (WebElement webElement : rackElements) { clickRackFilter(); driver.findElement((By) webElement).click(); assertFilterCables(); } } @Step(description = "filter single Rack cables assertion") public void assertFilterCables() { commonWebSteps.waitForElementToBeVisible(CablingElements.CABLES_NUMBER); Integer actualRackFilterCount = commonWebSteps.getNumberFromElement(CablingElements.CABLES_NUMBER); String actualRackName = commonWebSteps.getNameFromElement(CablingElements.RACK_TITLE); Integer expectedRackFilterCount = cableRackFilterCount(); String expectedRackName = commonWebSteps.getNameFromElement(CablingElements.RACK_FILTER_TAG); assertThat(actualRackFilterCount).as("<---------- Assert Cabling Filter count is failed ---------> " + actualRackFilterCount) .isEqualTo(expectedRackFilterCount); assertThat(actualRackName).as("<---------- Assert Cabling Filter name is failed ---------> " + actualRackName) .isEqualTo(expectedRackName); }
Проблемы:
1. Из списка выпадающего dropbox мне нужно выбирать по очереди в цикле все элементы, кроме первого (default)
В первом методе, WebElement webElement : rackElements
---> Как при таком определении, правильно и корректно оформить пробег по всем элементам, кроме ПЕРВОГО