Selenium IDE. Выбор и нажатие на елемент из drop-down list

selenium-ide
Теги: #<Tag:0x00007fedc016ad68>

(Alex Green) #1

Глобальный вопрос: 

Можно ли в Selenium IDE (команды в html) выбрать елемент из drop-down list.

xpath работает. находит елемент. но селениум не кликает на ДДЛ и не выбирает его. только тс проходит.
это у меня не в java script'e.
просто в самом IDE
Select               //div[@class='col-2']//option[7]
option[7] = 7-ой елемент в ДДЛ. а их 19 всего.
важный вопрос: в Selenium IDE  в табличной форме будет работать или надо конвертировать в скрипт и использовать IntelliJ IDEA  (например или в Eclipse) для запуска тестов и писать код?

xpath правильный, работает. находит елемент. но селениум не кликает на ДДЛ и не выбирает его. а тест кейс проходит без ошибок.

Command         Target                                                      Value

Select               //div[@class='col-2']//option[7]

 

option[7] = 7-ой елемент в ДДЛ. а их 19 всего.

 

В чем может быть проблемма? Какую команду и как использовать?

Или надо конвертировать в скрипт и использовать IntelliJ IDEA например (или в Eclipse) для запуска тестов, и используя фреймворк webdriver'a написать "select"?


(Дмитрий Жарий) #2

А попробуйте записать и воспроизвести это действие (Record&Play) при помощи Selenium IDE


(Vitalii) #3

Если нужно выбирать исходя из значений в списке то нужно использовать:

select  | //div[@class='col-2'] |  label=(То что написано в нужной строке списка)

 

Если нужно выбрать конкретно 7 позицию, тогда так:

select  | //div[@class='col-2']index=3

 


(Mykhailo Poliarush) #4

Vitalii указал правильное использование

select(selectLocator, optionLocator) Arguments:

* selectLocator - an element locator identifying a drop-down menu

* optionLocator - an option locator (a label by default)


(Taras) #5

оно так работать будет не всегда, лучше написать функцию которая тянет чайлди с списка и приобразовивает их в Web element


(Mykhailo Poliarush) #6

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

из личного опыта видел, когда списки были под 1000 записей, и простая операция выбора элемента из списка занимало 1-2 минуты

я считаю - это очень ресурсо-затратно


(Taras) #7

если верить тому что ти написал то пропадает юзабильность использования Java Scripta в сайтах вообще )))

Я имею ввиду на ретурн функции поставить JS execution - который вернет i-тый чайлд, он просто доступаеться до индексированого елемента масива, ничего ето не затратно


(Mykhailo Poliarush) #8

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

это не означает, что нельзя использовать JavaScript вообще

пусть Alex Green попробует, а дальше сам решит, что ему нужно


(Taras) #9

пробуйте JS - девелоперы мне тут наши подсказивают что индексация масива в JS происходит мнгновенно, если нужно код функции то напишу обязательно)


(Alex Green) #10

Ребята, спасибо за советы.
Поигрался со всеми вариантами.
Но Selenium IDE упорно проходит и тест зеленый, но реально в дропдаун листе как было по умолчанию Select, так и осталось.
Сначала делаю Click, потом делаю команду Select
в чем может быть проблемма? (Selenium IDE 1.6, FireFox 10.0.1)
|click | //span[@class='selectBox-label'] | | 
|select | //select[@id='RoleId'] | label=Hiring Manager |
либо
|select | //div[@class='col-2']/select[@id='RoleId'] | index=7 |
не выбирает значение.
Код html страницы:
<div class="row">
  <div class="col-1">
User Roles
</div>
   <div class="col-2" style=" ">
    <select id="RoleId" class="selectBox" name="RoleId" style="display: none;">
<option value=" ">Select</option>
<option value="139">Test role hierarchy</option>
<option value="140">NotDistributor(en)</option>
<option value="143"> </option>
<option value="145">Test role hierarchy - Copy</option>
<option value="151">Recruitment Responsible</option>
<option value="152">Hiring Manager</option>
<option value="153">Recruitment Participant</option>
</select>
  <a class="selectBox selectBox-dropdown" style="display: inline-block; -moz-user-select: none;" title=" " tabindex="0">
  <span class="selectBox-label">Select</span>
  <span class="selectBox-arrow"> </span>
</a>


(Vitalii) #11

style="display: none;" - может тут вся беда???

Если убрать этот стиль, то так работает:

<tr>
    <td>select</td>
    <td>id=RoleId</td>
    <td>label=Recruitment Responsible</td>
</tr>


(Sergey Korol) #13

Во-первых, некропостинг вопросов 4х-летней давности тут не приветствуется.
Во-вторых, вы бы хоть заголовок прочитали. Автор спрашивал о Selenium IDE, а вы тут java-код на WebDriver'е постите.