ruby-on-rails - Capybara::ElementNotFound:无法找到可见的选择框

标签 ruby-on-rails ruby rspec capybara

我有一个简单的引导模式,当用户单击链接时,它会显示一个带有下拉菜单和提交按钮的表单。我尝试在 Rspec 功能测试中使用 Capybara 从下拉菜单中选择选项,但它没有找到下拉菜单。

功能规范:

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 时遇到的错误,它无法找到 ID 为 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

为什么 capybara 点击链接后找不到我在屏幕上看到的元素?

最佳答案

from 选项采用 id,而不是 CSS 选择器 -

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

关于ruby-on-rails - Capybara::ElementNotFound:无法找到可见的选择框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53662424/

相关文章:

ruby-on-rails - Rails 的 Markdown gem

ruby-on-rails - 有办法处理 `after_save` 和 `after_destroy` "equally"吗?

rspec - 将 Sinatra 应用程序的测试数据库与开发数据库分开?

ruby - 如何在不同配置下运行 rspec 测试

rspec - 为什么在每个规范都成功时一系列规范会失败?

ruby-on-rails - Rails "any?"实例方法回调?

ruby-on-rails - 为 Heroku Rails 应用实现 OCR

ruby-on-rails - Rspec 主题!改变 before block 的 "position"

ruby - 如何安装下载的 ruby​​ gem?

ruby-on-rails - Rails 2.3.4 与 Rails 3 + 书籍 - RoR 初学者