2014-02-10 3 views
0

Я новичок в тестировании автоматизации веб-приложений. Я использую watir-webdriver для автоматизации нашего функционального тестирования с помощью приложения. Я бы выбрал мое раскрывающееся меню javascript для проверки с Ватиром, как знать, как и я. Я просто не могу пройти мимо, и каждая попытка приводит к ошибке.Watir нажмите на drop down

О один совет, который я был бы очень благодарен

<section class="price-calculation" data-view="Forms.Pricecalculation,Forms.HelpInfo"> 
      <form action="/index.php" method="post" class=""> 
        <input type="hidden" name="tx_bodpricecalculation_pi1[controller]" value="priceCalc"> 

          <input type="hidden" name="tx_bodpricecalculation_pi1[action]" value="calculate"> 
          <input type="hidden" name="type" value="54321">       


        <input type="hidden" name="tx_bodpricecalculation_pi1[isEditor]" value="0"> 

        <input type="hidden" name="tx_bodpricecalculation_pi1[binding]" id="binding" value=""> 

        <section class="input-group-container select-casade clearfix"> 
         <div class="input-group product first"> 
          <div class="input-fields"> 
           <select name="tx_bodpricecalculation_pi1[product]" data-required="" id="selFNF" class="chzn-done" style="display: none;"> 
            <option value="" selected="selected" disabled="">ProduktNEU</option> 
            <option value="FunNEU">FunNEU</option> 
            <option value="ClassicNEU">ClassicNEU</option> 
            <option value="ComfortNEU">ComfortNEU</option> 
           </select><div id="selFNF_chzn" class="chzn-container chzn-container-single chzn-container-single-nosearch" style="width: 76px;" title=""><a href="javascript:void(0)" class="chzn-single"><span>Comfort</span><div><b></b></div></a><div class="chzn-drop"><div class="chzn-search"><input type="text" autocomplete="off" readonly=""></div><ul class="chzn-results" tabindex="-1"><li id="selFNF_chzn_o_0" class="disabled-result" style="">Produkt</li><li id="selFNF_chzn_o_1" class="active-result" style="">Fun</li><li id="selFNF_chzn_o_2" class="active-result" style="">Classic</li><li id="selFNF_chzn_o_3" class="active-result result-selected" style="">Comfort</li></ul></div></div> 
          </div> 

            <a class="btn-help" href="#" tabindex="-1" data-helpid="731"></a> 

          <div class="error-message"> 
           <span class="desktop">Bitte</span> Ergänzen Sie die Angaben 
          </div> 
         </div> 

Первый тест-код

browser.select_list(:class => 'chzn-done').select('Fun') 

Первый тест-выход

Test Suite 
    New Test Case (FAILED - 1) 
    Failures: 
    1) Test Suite New Test Case 
    Failure/Error: browser.select_list(:class => 'chzn-done').select('FunNEU') 
    Selenium::WebDriver::Error::ElementNotVisibleError: 
    Element is not currently visible and so may not be interacted with 
    # [remote server] file:///var/folders/8m/3byyttvd4cxbqx22s60hvb4c0000gn/T/webdriver-     profile20140212-5829-7ai1pp/extensions/[email protected]/components/command_processor 

Второй тест-кода

browser.select_list(:name => 'tx_bodpricecalculation_pi1[product]').select('Fun') 

Второй тест-OutputTest Люкс

Test Suite 
    New Test Case (FAILED - 1) 
    Failures: 
    1) Test Suite New Test Case 
    Failure/Error: browser.select_list(:name =>   'tx_bodpricecalculation_pi1[product]').select('FunNEU') 
    Selenium::WebDriver::Error::ElementNotVisibleError: 
    Element is not currently visible and so may not be interacted with 
    # [remote server] file:///var/folders/8m/3byyttvd4cxbqx22s60hvb4c0000gn/T/webdriver-  profile20140212-5829-  ry619a/extensions/[email protected]/components/command_processor.js:8179:in   `fxdriver.preconditions.visible' 
    # [remote server] file:///var/folders/8m/3byyttvd4cxbqx22s60hvb4c0000gn/T/webdriver-  profile20140212-5829-ry619a/extensions/[email protected]/components/command_processor.js:10814:in `DelayedCommand.prototype.checkPreconditions_' 

я получаю следующий тест просто не идут. => Нажмите на PRODUKTNEU => Выберите FUNNEU

В конце должен быть произведен расчет продукта FUNNEU. Только часть и PRODUKTNEU и FUNNEU создают проблемы.

О вашей помощи я бы очень благодарен

+2

Можете ли вы поделиться тем, что вы пытались и ошибки, которые вы получили? (Это позволяет сохранить усилия, связанные с предоставлением/получением ответов, которые вы уже знаете, не работают.) –

+0

Мой Watir Code и My Testoutput в 1 Ответ – mattrock

ответ

1

Список выбора, который был дан в образец HTML имеет стиль отображения нет. В результате это не считается видимым.

Вы действительно хотите взаимодействовать с контентом, который появляется после списка выбора. «Выпадающее меню» на самом деле является ссылкой, а «параметры» являются фактическими элементами li.

следующие работы против фактической страницы:

require 'watir-webdriver' 

b = Watir::Browser.new 
b.goto 'http://www.bod.de/autoren/buch-veroeffentlichen/preiskalkulation.html' 

# This is the div containing the "dropdown" you want to work with. 
input_field = b.div(:class => 'product') 

# Click the link to expand the dropdown 
input_field.link(:class => 'chzn-single').click 

# Click the related li element 
input_field.li(:text => 'Fun').click 
+0

Я снова сменил свой тестовый код. Возникла новая ошибка – mattrock

+0

Исключение говорит о том, что элемент в данный момент не отображается. Есть ли какие-то действия, которые пользователь должен делать, прежде чем список выбора будет виден им? –

+0

Пользователю необходимо только нажать на ProduktNEU, чтобы список выбора был виден. Link => [Пример ссылки] (http://www.bod.de/autoren/buch-veroeffentlichen/preiskalkulation.html) – mattrock