Capybara :: ElementNotFound: невозможно найти видимое поле выбора - PullRequest
0 голосов
/ 07 декабря 2018

У меня есть простой мод начальной загрузки с отображением формы с выпадающим меню и кнопкой отправки, когда пользователь нажимает на ссылку.Я пытаюсь выбрать параметры из выпадающего меню с помощью Capybara в тесте Rspec, но не находит выпадающее меню.

Спецификация функции:

scenario "User searches records" do
    visit my_records_path

    click_link 'Search Records'

    within('#practiceSearchModal') do
      select('Pennsylvania', from: '#state_search')
      click_on('Submit')
    end
end

Модальное на странице:

<div class="modal fade in" id="practiceSearchModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="false" style="display: block;"><div class="modal-backdrop fade in" style="height: 654px;"></div>
  <div class="modal-dialog" style="width: 750px;">
    <div class="modal-content">

      <select name="state" id="state_search" class="form-control">
        <option value="">Select</option>
         <option value="Pennsylvania">Pennsylvania</option>
        <option value="New York">New York</option>
      </select>



    </div>
  </div>
</div>

Это ошибка, которую я получаю с Capybara, она не может найти меню выбора с идентификатором state_search:

 Capybara::ElementNotFound:
   Unable to find visible select box "#state_search" that is not disabled within #<Capybara::Node::Element tag="div" path="/html/body/div[1]/div[2]/div[4]/div[1]/div[2]/div/div[1]/form/div">
 # /home/myuser/.rvm/gems/ruby-2.1.7@core/gems/capybara-2.18.0/lib/capybara/node/finders.rb:314:in `block in synced_resolve'

Но я вижу элемент на странице:

enter image description here

Почему Капибара не может найти элемент, который я вижу на экране после нажатия на ссылку?

1 Ответ

0 голосов
/ 07 декабря 2018

Параметр from принимает идентификатор, а не селектор CSS -

select('Pennsylvania', from: ‘state_search')
...