我到了 模糊匹配,发现2个元素匹配css" .active-result"用文字" jeeny"
<select style="display: none;" class="form-control input-sm" id="column" name="column"><option value="">Select</option><option value="UPPER(supervisor.name)">jeeny roat</option>
<option value="UPPER(suprem.code)">jenny</option>
<option value="UPPER(officer.code)">carl</option></select>
它能够检测到jeeny roat bu not jenny
chosen_select('jeeny', from: 'column')
chosen_select('jeeny roat', from: 'column')
也无法检测值选择列表隐藏
chosen_select是辅助方法
使用实例方法
选择:: Rspec :: FeatureHelpers def chosen_select(value, *args)
opt = args.extract_options!
input = chosen_input(opt)
args.unshift(value).uniq.each { |item| chosen_select!(input, item) }
end
答案 0 :(得分:2)
我做了一些搜索,我猜你还在使用chosen-rails
gem,它提供https://github.com/tsechingho/chosen-rails/blob/fb28dfcf0dca5ef49344a8d961b733b5bd96449f/lib/chosen-rails/rspec.rb定义的chosen_select
方法。这最终会调用{{1}因为https://github.com/tsechingho/chosen-rails/blob/fb28dfcf0dca5ef49344a8d961b733b5bd96449f/lib/chosen-rails/rspec.rb#L66的匹配方法指定了:prefer_exact,它应该可以工作。既然它不适合你,而且你仍然在Capybara 2.1.0,我猜你也会在匹配之前选择一个非常老的选择轨道版本方法已指定。如果是这种情况,并且您无法升级gem,则可以尝试指定Regexp以强制文本查找到精确模式
chosen_select!