https://github.com/chip/watir-on-rails
This plugin was upgraded to be Rails 2.3.2 compatible
https://github.com/chip/watir-on-rails
Last synced: 3 months ago
JSON representation
This plugin was upgraded to be Rails 2.3.2 compatible
- Host: GitHub
- URL: https://github.com/chip/watir-on-rails
- Owner: chip
- Created: 2009-06-18T01:57:50.000Z (over 16 years ago)
- Default Branch: master
- Last Pushed: 2009-06-18T02:14:47.000Z (over 16 years ago)
- Last Synced: 2025-04-30T10:33:43.334Z (10 months ago)
- Language: Ruby
- Homepage:
- Size: 80.1 KB
- Stars: 3
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README
Awesome Lists containing this project
README
Use this plugin to run Watir tests in Rails.
Watir (Web Application Testing in Ruby) supports Internet Explorer, with Safari
and Firefox ports in development. Watir boasts a dead simple setup and an
intuitive API for driving browsers programatically. Visit
http://wtr.rubyforge.org/ for more information.
Dependencies
============
If you're running Windows, you'll need to
gem install watir
If you're fortunate enough to be on OS X, you can
gem install safariwatir
Installation
============
You have probably already done this, but just in case...
script/plugin install svn://rubyforge.org/var/svn/watir-on-rails
For version compatible with Rails 2.3.2 (provided by Chip Castle ):
script/plugin install git://github.com/chip/watir-on-rails.git
Generating Tests
================
You can use the generator to create skeleton Watir tests in test/watir
script/generate watir Login
Running Tests
=============
Watir tests can be executed by running
rake test:watir
You'll need to have a test server running.
Decorating Watir with a DSL
===========================
Similar to Rails Integration Tests, WatirOnRails provides developers with the
means to add singleton methods to the browser instance, allowing for the
development of a site-specific language. The WatirOnRails open_browser method
is mixed into the TestCases generated by Watir. This method will return an
instance of a Watir browser. Similar to Rails IntegrationTest's open_session,
it takes an optional block, yielding the browser instance. A simple
WatirOnRails test method might look like this...
def test_login
browser = open_browser
browser.goto("/login")
browser.text_field(:name, "user[name]").set("dave")
browser.password(:name, "user[password]").set("test")
browser.button(:index, 1).click
assert_select "div#banner", /Welcome Dave/
end
...while a slightly more advanced WatirOnRails test method using a site-
specific language might look like this...
def test_login
browser = open_browser
browser.login_with :username => "dave", :password => "test"
assert_select "div#banner", /Welcome Dave/
end
def open_browser
super do |browser|
def browser.login_with(args)
goto("/login")
text_field(:name, "user[name]").set(args[:username])
password(:name, "user[password]").set(args[:password])
button(:name, "login").click
end
end
end
SEND FEEDBACK!
==============
Dave Hoover
dave.hoover@gmail.com
http://redsquirrel.com/dave/