Хотя другие ответы были близки, они, похоже, не работают с Capybara 1.1.2 (версия, которую я использую). С этой версией я обнаружил, что работает следующий подход, но только потому, что я знал, каково значение «должно».
#based on Capybara::Node::Actions#select
def find_select_option(select_finder, option_finder)
no_select_msg = "cannot select option, no select box with id, name, or label '#{select_finder}' found"
no_option_msg = "cannot select option, no option with text '#{option_finder}' in select box '#{select_finder}'"
select = find(:xpath, XPath::HTML.select(select_finder), :message => no_select_msg)
select.find(:xpath, XPath::HTML.option(option_finder), :message => no_option_msg)
end
find_select_option('Countries', 'United States').should be_selected