Capybara

https://github.com/teamcapybara/capybara

The DSL, but quick summary:

visit "/"
within("css") do
  ...
end

find(".css_class").click
find(".css_class", match: :first).click

click_button
click_link

fill_in "Email", with: "[email protected]"
choose
check
uncheck
select

Capybara.default_max_wait_time = 5