Skip to content
A gem which generates a test API from your application domain, which automatically finds elements on a HTML page based on convention. Currently supports Capybara and Rails.
Find file
Latest commit 26b5d00 @algrimes Al : Updating description

A gem to help you generate an acceptance test DSL from your application domain, which then re-uses Rails ActionView mechanism of element id generation to find elements in the UI matching the object and method you have called, without any boilerplate. An example:

Say you have a rails model, called Member. Calling the following code from your test:


would return an element on the page like so:

<input id="member_0_first_name" />

This also works for multiple instances of an object on a page:



<input id="member_1_first_name" />

How to use:

  • add 'ubiquitous' to your gemfile
  • require 'ubiquitous/instance_tag' in /config/environment.rb
  • add the following to your env.rb or spec_helper:

    require 'ubiquitous'

    require 'ubiquitous/model_helpers'

then for cucumber:


and for rspec:

include Ubiquitous::ModelHelpers


If you have configured custom finders for capybara, like using name, rather than id:

Capybara.add_selector(:name) do
    xpath { |name| XPath.descendant[XPath.attr(:name) == name.to_s] }

Then configure Ubiquitous in your env.rb/spec_helper:

Ubiquitous.finder_mechanism = :name  
Something went wrong with that request. Please try again.