Перейти к содержимому

Тестирование веб-приложений 2.0
онлайн, начало 25 января
Тестирование REST API
онлайн, начало 28 января
SQL для тестировщиков
онлайн, начало 28 января
Техники локализации плавающих дефектов
онлайн, начало 28 января
Фотография

Выбор элемента из ComboBox


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 2

#1 Vikonder

Vikonder

    Новый участник

  • Members
  • Pip
  • 31 сообщений

Отправлено 02 Май 2018 - 09:53

Камрады!

 

Пытаюсь использовать следующий метод выбора из ComboBox

    @Step(description = "select from combo list")
    public void selectFunctionFromList(By element) {
        List<WebElement> FunctionList = driver.findElements(element);
        if (FunctionList.size() > 0) {
            for (int i = 10; i < FunctionList.size(); i++) {
                Utilities.ElementdrawBorder(driver, element);
                FunctionList.get(i).click();
                logger.info("-------------------->  device is selected");
                break;
            }
        }
    }

где element метод получает в формате By.xpath("//*[contains(@class,'ui-select-choices')]")

При нормальном игдексе = 1 ничего из списка не выбирается...

Хотелось бы понять, почему индекс i=10 выбирает 1 элемент из списка?

 

Метода должна работать, как универсальная, так ComboBox имеет структуру домино и выбор одного устройства открывает другие ComboBox  (получается подобие графа)

 

Прикрепленный файл  SH_20 May. 02 09.04.jpg   24,26К   0 Количество загрузок:

 

Задача стоит, используя этот метод выбирать элементы 

 

FE code

 

<div ng-show="$select.open" class="ui-select-choices ui-select-dropdown selectize-dropdown ng-scope single" ng-class="{'single': !$select.multiple, 'multi': $select.multiple}" repeat="function in optionalFunction | filter: $select.search" style="opacity: 1;"><div class="ui-select-choices-content selectize-dropdown-content"><div class="ui-select-choices-group optgroup"><div ng-show="$select.isGrouped" class="ui-select-choices-group-label optgroup-header ng-binding ng-hide" ng-bind="$group.name"></div><!-- ngRepeat: function in $select.items --><!-- ngIf: $select.open --><div role="option" class="ui-select-choices-row ng-scope active" ng-class="{active: $select.isActive(this), disabled: $select.isDisabled(this)}" ng-repeat="function in $select.items" ng-if="$select.open" ng-click="$select.select(function,$select.skipFocusser,$event)" style=""><div class="option ui-select-choices-row-inner" data-selectable="" uis-transclude-append="">

                  <span ng-bind-html="function.name | highlight: $select.search" class="ng-binding ng-scope">10g server sfp</span>
                </div></div><!-- end ngIf: $select.open --><!-- end ngRepeat: function in $select.items --><!-- ngIf: $select.open --><div role="option" class="ui-select-choices-row ng-scope" ng-class="{active: $select.isActive(this), disabled: $select.isDisabled(this)}" ng-repeat="function in $select.items" ng-if="$select.open" ng-click="$select.select(function,$select.skipFocusser,$event)" style=""><div class="option ui-select-choices-row-inner" data-selectable="" uis-transclude-append="">
....

 


  • 0

#2 MissLeman

MissLeman

    Активный участник

  • Members
  • PipPip
  • 138 сообщений


Отправлено 02 Май 2018 - 13:22

Ну, возможно, по данному локатору находятся не только элементы списка, но и какие-то другие элементы, не кликабельные. Попробуйте вывести куда-нибудь в консоль FunctionList.size(), может станет понятнее. Или локатор переписать на более прицельный.


  • 0

#3 Vikonder

Vikonder

    Новый участник

  • Members
  • Pip
  • 31 сообщений

Отправлено 05 Май 2018 - 09:28

спасибо, разобрался...

HTML при построении UI автоматически сортирует списки, которые получает из DB.

Поэтому, список ComboBox приходит отсортированным, по внутреннему алгоритму  индекасации.

Как результат, список котрый выпадает не линейный и имеет индексы до сортировки.


  • 1


Selenium 2.0: стартовый уровень
онлайн
Программирование на Java для тестировщиков
онлайн
Автоматизация функционального тестирования
онлайн
Selenium WebDriver: полное руководство
онлайн



Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных

Яндекс.Метрика
Реклама на портале