Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Jun 21st, 2012  |  syntax: None  |  size: 0.93 KB  |  hits: 71  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. dropdown with selected item, how to get its name/ label using capybara
  2. <select id="my-dropdown" name="my-dropdown">
  3.   <option value="1">Peter</option>
  4.   <option value="2" selected>Pan</option>
  5. </select>
  6.        
  7. find_field("#my-dropdown").value
  8.        
  9. find_field("#my-dropdown").label
  10.        
  11. find_field('#my-dropdown option[selected]').text
  12.        
  13. find_field('My Dropdown').find('option[selected]').text
  14.        
  15. #based on Capybara::Node::Actions#select
  16. def find_select_option(select_finder, option_finder)
  17.   no_select_msg = "cannot select option, no select box with id, name, or label '#{select_finder}' found"
  18.   no_option_msg = "cannot select option, no option with text '#{option_finder}' in select box '#{select_finder}'"
  19.   select = find(:xpath, XPath::HTML.select(select_finder), :message => no_select_msg)
  20.   select.find(:xpath, XPath::HTML.option(option_finder), :message => no_option_msg)
  21. end
  22.  
  23. find_select_option('Countries', 'United States').should be_selected