module Capybara::PomPom::Finder
Capybara::PomPom::Finder
¶ ↑
Adds helper methods to Page
for accessing Capybara
elements in an instance.
class CustomPage include Capybara::PomPom::Finder link :documentation_link, "View Documentation" def view_docs documentation_link.click end end
Public Instance Methods
component(name, locator)
click to toggle source
Finds a component through find
component :overview_component, "#overview"
Returns a Component
# File lib/capybara/pompom/finder.rb, line 83 def component(name, locator) self.finders[name] = ElementFinder.new(:find, locator, wrapper: Component) end
components(name, locator, wrapper: nil)
click to toggle source
Finds components through all
components :statuses, ".status"
Returns a Component
# File lib/capybara/pompom/finder.rb, line 92 def components(name, locator, wrapper: nil) self.finders[name] = ElementFinder.new(:all, locator, wrapper: wrapper) end
css(name, locator)
click to toggle source
Finds a node with find
css :title, ".title"
Returns a Capybara::Node::Element
# File lib/capybara/pompom/finder.rb, line 38 def css(name, locator) self.finders[name] = ElementFinder.new(:find, locator) end
field(name, locator)
click to toggle source
Finds a field through find_field
field :username, "user[username]"
Returns a Capybara::Node::Element
# File lib/capybara/pompom/finder.rb, line 56 def field(name, locator) self.finders[name] = ElementFinder.new(:find_field, locator) end
link(name, locator)
click to toggle source
Finds a link through find_link
link :login_link, "Log In"
Returns a Capybara::Node::Element
# File lib/capybara/pompom/finder.rb, line 47 def link(name, locator) self.finders[name] = ElementFinder.new(:find_link, locator) end
method_missing(name, *args)
click to toggle source
Provides access to finders defined at the class level.
Calls superclass method
# File lib/capybara/pompom/finder.rb, line 22 def method_missing(name, *args) if self.finders.has_key?(name) return self.finders[name].get end super end
table(name, locator, row_wrapper: nil)
click to toggle source
Finds a table through find
table :products_table, "#products", row_wrapper: TableRowWrapper
Returns a Table
# File lib/capybara/pompom/finder.rb, line 74 def table(name, locator, row_wrapper: nil) self.finders[name] = TableFinder.new(:find, locator, wrapper: row_wrapper) end