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

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

getText (getValue) для дефолтного значения dropbox


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

#1 Vikonder

Vikonder

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

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

Отправлено 04 Июнь 2018 - 05:34

Камрады!

 

Такая вот задачка, есть DropBox со списком и дефолтным значением (mandatory из изначальной конфигурации)

Прикрепленный файл  SH_24 Jun. 04 08.26.jpg   2,43К   0 Количество загрузок:

 

Прикрепленный файл  SH_24 Jun. 04 08.27.jpg   5,45К   0 Количество загрузок:

 

Задача: Прочитать значение, которое отборажено в окошке DropBox. Именно считать это значение для дальнейшего assert, не выбрать кликнув, а считать!

 

html код:

 

 

<select id="CabinetHeight" class="i-sp-elevation-sidebar-form-item-input ng-pristine ng-valid ng-not-empty ng-touched" ng-hide="isReadOnly" ng-change="events.rackHightChanged()" name="useableRackUnits" ng-model="rackModel.rackHight" ng-options="rackUnit for rackUnit in useableRackUnits" style="">

<option label="44" value="number:44">44</option>
<option label="42" value="number:42" selected="selected">42</option>
<option label="52" value="number:52">52</option>
<option label="46" value="number:46">46</option>
</select>

 

Select метод - дает возможность выбора по индексу, значению и видимости объекта.

 

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

 

Мне просто нужно банально считать value с экрана и передать в виде String или Integer для дальнейшего сравнения с иходными данными.


  • 0

#2 TatyanaV

TatyanaV

    Опытный участник

  • Members
  • PipPipPipPip
  • 329 сообщений
  • ФИО:Воробьева Татьяна


Отправлено 04 Июнь 2018 - 06:03

findElements(By.cssSelector("#CabinetHeight option")).size(); - общее количество.

Если нужно сложить сами значения - то тем же findElements получаете список опций, а потом просто стандартными средствами ЯП суммируете значения.

Сами значения - либо из атрибута label вытаскивать, либо из атрибута value с отрезанием "number:" (element.getAttribute("xxx")). 


  • 0

#3 Vikonder

Vikonder

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

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

Отправлено 04 Июнь 2018 - 06:11

Может я некорректно спросил.... но цель - не создать список значений размера size, а потом выбирать элемент из списка и считывать значение,

задача просто считать дефолтного  экранное значение (в данный момент это одно из 4 значений, но будет больше), не пробегая по всему списку...

Или такая фишка не получится?


  • 0

#4 Alex

Alex

    Постоянный участник

  • Members
  • PipPipPip
  • 225 сообщений
  • ФИО:Алексей

Отправлено 04 Июнь 2018 - 06:45

Может я некорректно спросил.... но цель - не создать список значений размера size, а потом выбирать элемент из списка и считывать значение,

задача просто считать дефолтного  экранное значение (в данный момент это одно из 4 значений, но будет больше), не пробегая по всему списку...

Или такая фишка не получится?

https://seleniumhq.g.../ui/Select.html

getFirstSelectedOption

getAllSelectedOptions


  • 0

#5 Noksa

Noksa

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

  • Members
  • PipPip
  • 117 сообщений
  • ФИО:Александр

Отправлено 04 Июнь 2018 - 07:51

Надо учитывать, что если значение никакое не выбрано - у вас вылетит эксепшн. 


  • 0

#6 Snap

Snap

    Специалист

  • Members
  • PipPipPipPipPip
  • 764 сообщений
  • ФИО:Роман
  • Город:Москва


Отправлено 04 Июнь 2018 - 09:46

Может я некорректно спросил.... но цель - не создать список значений размера size, а потом выбирать элемент из списка и считывать значение,

задача просто считать дефолтного  экранное значение (в данный момент это одно из 4 значений, но будет больше), не пробегая по всему списку...

Или такая фишка не получится?

css=#CabinetHeight option[selected="selected"]

xpath=//select[@id="CabinetHeight"]/option[@selected="selected"]


  • 0

http://starbugss.blogspot.ru - "Звездные баги", мой блог.


#7 Vikonder

Vikonder

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

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

Отправлено 29 Июнь 2018 - 15:56

Возвращаюсь к своему вопросу...

 

Для метода Select я не вижу в списке возможности вернуть String or Integer

 

post-47229-0-99592800-1530286783_thumb.j

 

Непонятно, как всё таки можно прочитать значение DropBox поля для элементов Options используя Select

 

 

<div class="i-sp-elevation-sidebar-form-item" formation-id="rackHight">

<label class="i-sp-elevation-sidebar-form-item-label ng-binding" for="CabinetHeight" ng-bind="spStringConstants.rackDetails.cabinetHeight">Cabinet Height</label>
<select id="CabinetHeight" class="i-sp-elevation-sidebar-form-item-input ng-pristine ng-untouched ng-valid ng-not-empty" ng-hide="isReadOnly" ng-change="events.rackHightChanged()" name="useableRackUnits" ng-model="rackModel.rackHight" ng-options="rackUnit for rackUnit in useableRackUnits" style="">
<option label="44" value="number:44">44</option>
<option label="42" value="number:42" selected="selected">42</option>
<option label="46" value="number:46">46</option>
<option label="52" value="number:52">52</option>
</select>
<input class="i-sp-elevation-sidebar-form-item-input ng-pristine ng-untouched ng-valid ng-hide ng-not-empty" ng-show="isReadOnly" ng-model="rackModel.rackHight" ng-readonly="true" readonly="readonly" style="" type="number"/>
</div>

 

1. Пытался выбирать default value:

String defaultValue= driver.findElement(//select[@id='CabinetHeight']//option[@selected='selected']).getText();

Integer actualSize= Integer.parseInt(defaultValue);

 

------>  возвращает пустое значение ""

post-47229-0-49427300-1530287316_thumb.j

 

2. Пытался через индекс или само значение и всё время упираюсь, что всё время возвращается VOID

 

 

 

 

 

Прикрепленные файлы


  • 0

#8 Noksa

Noksa

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

  • Members
  • PipPip
  • 117 сообщений
  • ФИО:Александр

Отправлено 02 Июль 2018 - 04:51

Возвращаюсь к своему вопросу...

 

 

Попробуйте на селекте вызвать

element.GetAttribute("title");

вместо getText();

 

Так же вроде в джаве есть такой метод:

select.getFirstSelectedOption();

  • 0


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



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

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

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