Capybara select2助手

时间:2014-02-03 13:17:57

标签: ruby select rspec capybara

也许它可以帮助某人。写了一个简单的capybara助手,将值设置为select2字段。

见下面的代码。

1 个答案:

答案 0 :(得分:4)

module Features
  module CapybaraHelpers
    def select2(value, element_selector)
      select2_container = first("#{element_selector}")
      select2_container.find(".select2-choice").click

      find(:xpath, "//body").find("input.select2-input").set(value)
      page.execute_script(%|$("input.select2-input:visible").keyup();|)
      drop_container = ".select2-results"
      find(:xpath, "//body").find("#{drop_container} li", text: value).click
    end
  end
end

然后在您的代码中调用类似select2("apple", "#s2id_fruit_id")的内容,capybara将在"apple" id的select2字段中选择#s2id_fruit_id值。

感谢goodwillcapybara-select2 gem