Capybara和Select2版本4

rob*_*kos 6 ruby-on-rails capybara jquery-select2-4

如何在select2capybara中填写/选择一个搜索框(通过ajax获取结果).

使用最新version 4select2和最新capybara/rspec的rails项目.

SO关于如何使用Capybara 有很多例子和其他地方,Select2 3.x但不是version 4重写.

Jos*_*ach 5

对于4.0,看起来他们实际上简化了很多。对于单选,您可以仅包含以下帮助器方法:

def select2(value, **options)
  first("#select2-#{options[:from]}-container").click
  find(".select2-results__option", text: value).click
end
Run Code Online (Sandbox Code Playgroud)

到目前为止对我有用,但是我还没有尝试使用更多定制版本的选择器。


Hir*_*103 3

capybara-select-2 gem 支持 select2 的 2/3/4 版本。默认情况下,它期望 select2 版本 4。如果您使用 select2 版本 2 或 3,则可以将其配置为其他版本

只需将 gem 添加到 Gemfile 中的测试组中

group :test do
  gem 'capybara-select-2'
end
Run Code Online (Sandbox Code Playgroud)

现在您可以在 Cucumber 或 RSpec 中使用select2测试助手:

select2 'Buy Milk', css: '#todo'

# Search options
select2 'Buy Milk', from: 'Things to do', search: true

# Create new options
select2 'Millennials', from: 'Generations', tag: true
Run Code Online (Sandbox Code Playgroud)

更新: 从版本0.3.0CapybaraSelect2 开始自动检测 select2 版本