Module: Capybara::Node::Actions

### Home Classes Methods

### In Files

- lib/capybara/node/actions.rb

### Methods

- #attach_file
- #check
- #choose
- #click_button
- #click_link
- #click_link_or_button
- #click_on
- #fill_in
- #select
- #uncheck
- #unselect

### Files

- another_test_file.txt
- test_file.txt

### Class/Module Index

Quicksearch

- Capybara
- Capybara::Ambiguous
- Capybara::CapybaraError
- Capybara::DSL
- Capybara::Driver
- Capybara::Driver::Base
- Capybara::Driver::Node
- Capybara::DriverNotFoundError
- Capybara::ElementNotFound
- Capybara::ExpectationNotMet
- Capybara::Features
- Capybara::FileNotFound
- Capybara::FrozenInTime
- Capybara::Helpers
- Capybara::InfiniteRedirectError
- Capybara::ModalNotFound
- Capybara::Node
- Capybara::Node::Actions
- Capybara::Node::Base
- Capybara::Node::Document
- Capybara::Node::DocumentMatchers
- Capybara::Node::Element
- Capybara::Node::Finders
- Capybara::Node::Matchers
- Capybara::Node::Simple
- Capybara::NotSupportedByDriverError
- Capybara::Queries
- Capybara::Queries::BaseQuery
- Capybara::Queries::TextQuery
- Capybara::Queries::TitleQuery
- Capybara::Query
- Capybara::RSpecMatchers
- Capybara::RSpecMatchers::BecomeClosed
- Capybara::RSpecMatchers::HaveSelector
- Capybara::RSpecMatchers::HaveText
- Capybara::RSpecMatchers::HaveTitle
- Capybara::RSpecMatchers::Matcher
- Capybara::RackTest
- Capybara::RackTest::Browser
- Capybara::RackTest::CSSHandlers
- Capybara::RackTest::Driver
- Capybara::RackTest::Form
- Capybara::RackTest::Form::NilUploadedFile
- Capybara::RackTest::Node
- Capybara::ReadOnlyElementError
- Capybara::Result
- Capybara::ScopeError
- Capybara::Selector
- Capybara::Selector::Filter
- Capybara::Selenium
- Capybara::Selenium::Driver
- Capybara::Selenium::Node
- Capybara::Server
- Capybara::Server::Middleware
- Capybara::Session
- Capybara::SpecHelper
- Capybara::UnselectNotAllowed
- Capybara::Window
- Capybara::WindowError
- TestApp
- TestApp::TestAppError
- Object

No matching classes.

# Capybara::Node::Actions

### Public Instance Methods

attach_file(locator, path, options={}) click to toggle source

Find a file field on the page and attach a file given its path. The file field can be found via its name, id or label text.

    page.attach_file(locator, '/path/to/file.png')

@param [String] locator Which field to attach the file to @param [String] path The path of the file that will be attached, or an array of paths

    # File lib/capybara/node/actions.rb, line 148
    def attach_file(locator, path, options={})
      Array(path).each do |p|
        raise Capybara::FileNotFound, "cannot attach file, #{p} does not exist" unless File.exist?(p.to_s)
      end
      find(:file_field, locator, options).set(path)
    end

check(locator, options={}) click to toggle source

Find a check box and mark it as checked. The check box can be found via name, id or label text.

    page.check('German')

@param [String] locator Which check box to check

    # File lib/capybara/node/actions.rb, line 81
    def check(locator, options={})
      find(:checkbox, locator, options).set(true)
    end

choose(locator, options={}) click to toggle source

Find a radio button and mark it as checked. The radio button can be found via name, id or label text.

    page.choose('Male')

@param [String] locator Which radio button to choose

    # File lib/capybara/node/actions.rb, line 68
    def choose(locator, options={})
      find(:radio_button, locator, options).set(true)
    end

click_button(locator, options={}) click to toggle source

Finds a button by id, text or value and clicks it.

@param [String] locator Text, id or value of button

    # File lib/capybara/node/actions.rb, line 36
    def click_button(locator, options={})
      find(:button, locator, options).click
    end

click_link(locator, options={}) click to toggle source

Finds a link by id or text and clicks it. Also looks at image alt text inside the link.

@param [String] locator Text or id of link @param options @option options [String] :href The value the href attribute must be

    # File lib/capybara/node/actions.rb, line 26
    def click_link(locator, options={})
      find(:link, locator, options).click
    end

click_link_or_button(locator, options={}) click to toggle source

Finds a button or link by id, text or value and clicks it. Also looks at image alt text inside the link.

@param [String] locator Text, id or value of link or button

    # File lib/capybara/node/actions.rb, line 12
    def click_link_or_button(locator, options={})
      find(:link_or_button, locator, options).click
    end

Also aliased as: click_on
click_on(locator, options={}) click to toggle source
Alias for: click_link_or_button
fill_in(locator, options={}) click to toggle source

Locate a text field or text area and fill it in with the given text The field can be found via its name, id or label text.

    page.fill_in 'Name', :with => 'Bob'

@param [String] locator Which field to fill in @param [Hash] options @option options [String] :with The value to fill in - required @option options [Hash] :fill_options Driver specific options regarding how to fill fields

    # File lib/capybara/node/actions.rb, line 52
    def fill_in(locator, options={})
      raise "Must pass a hash containing 'with'" if not options.is_a?(Hash) or not options.has_key?(:with)
      with = options.delete(:with)
      fill_options = options.delete(:fill_options)
      find(:fillable_field, locator, options).set(with, fill_options)
    end

select(value, options={}) click to toggle source

Find a select box on the page and select a particular option from it. If the select box is a multiple select, `select` can be called multiple times to select more than one option. The select box can be found via its name, id or label text.

    page.select 'March', :from => 'Month'

@param [String] value Which option to select @param [Hash{:from => String}] options The id, name or label of the select box

    # File lib/capybara/node/actions.rb, line 109
    def select(value, options={})
      if options.has_key?(:from)
        from = options.delete(:from)
        find(:select, from, options).find(:option, value, options).select_option
      else
        find(:option, value, options).select_option
      end
    end

uncheck(locator, options={}) click to toggle source

Find a check box and mark uncheck it. The check box can be found via name, id or label text.

    page.uncheck('German')

@param [String] locator Which check box to uncheck

    # File lib/capybara/node/actions.rb, line 94
    def uncheck(locator, options={})
      find(:checkbox, locator, options).set(false)
    end

unselect(value, options={}) click to toggle source

Find a select box on the page and unselect a particular option from it. If the select box is a multiple select, `unselect` can be called multiple times to unselect more than one option. The select box can be found via its name, id or label text.

    page.unselect 'March', :from => 'Month'

@param [String] value Which option to unselect @param [Hash{:from => String}] options The id, name or label of the select box

    # File lib/capybara/node/actions.rb, line 129
    def unselect(value, options={})
      if options.has_key?(:from)
        from = options.delete(:from)
        find(:select, from, options).find(:option, value, options).unselect_option
      else
        find(:option, value, options).unselect_option
      end
    end

[Validate]

Generated with the Darkfish Rdoc Generator 2.