2015-05-15 8 views
1

Здравствуйте, я относительно новичок в автоматическом веб-тестировании QA, и я стараюсь использовать SO в качестве последнего средства.Ruby/Watir выберите выбор из выпадающего меню

У меня возникли проблемы с выбором выбора из выпадающего меню в нашем веб-приложении.

Вот следующий код:

<div id="edit-main-user-role-wrapper" class="form-item"> 
    <select id="edit-main-user-role" class="form-select my-dropdown ahah-processed" name="main[user_role]" style="display: none;"></select> 
    <div class="newListSelected" style="position: static;"> 
     <span class="selectedTxt"> 

      Student 

     </span> 
     <ul class="newList" style="top: -136px; height: 136px; left: 0px; display: none;"> 
      <li> 
       <a class="" href="JavaScript:void(0);"></a> 
      </li> 
      <li></li> 
      <li></li> 
      <li></li> 
      <li></li> 
      <li></li> 
      <li></li> 
      <li></li> 
     </ul> 
    </div> 
</div> 

Когда я осмотреть раскрывающийся значок с Firefox инспектировать элемент направляет меня на эту строку кода: класс пядь = «selectedTxt»

Я пробовал доступ к списку по id, class, xpath и css все безрезультатно.

Вот некоторые из моих прошлых попыток:

@browser.div(:class => 'form-item').select_list(:text => 'Student').fire_event ("on click") 

@browser.select_list(:xpath, menu).option(:text, option).click 
+0

Я рассмотрел различные вопросы, связанные с выпадающим списком, на SO, но никто из них не смог помочь мне решить мою проблему. – Frank

+0

Все еще работаю над этим, но я добился прогресса. Это, по крайней мере, «отбросит» раскрывающееся меню. @ browser.span (: class, "selectedTxt"). Click – Frank

ответ

2

Элемент с выбором тегом должно быть только смысл, если есть элементы с опцией тегами вложенных внутри него. Часто эти страницы содержат много дополнительных javascript, чтобы дать контекст.

Для выпадающих списков, которые не соответствуют шаблону выбора/выбора, вы хотите щелкнуть элемент, который выпадает из списка, а затем щелкнуть по элементу, который вы хотите, который станет видимым в результате.

0

Это то, что в конечном итоге работает для меня:

@browser.span(:class, "selectedTxt").click # to make the list visible 
@browser.element(:xpath, "#{xpath}").click # click on the specified xpath 

Я знаю, что это может быть не самый элегантный ответ, но это работает!

1

не уверен, если вы все еще ищете ответы, но любой из них работали для меня:

@browser.select_list(:id => "you_leaving_us").option(:text => "Other").select 
@browser.select_list(:id => "you_leaving_us").option(:value => "8").select 

Вместо Ли, у меня были варианты. Надеюсь, он работает

Смежные вопросы