CSC/ECE 517 Fall 2014/ch1a 19 mx
Watir
Introduction
Watir(Web Application Test in Ruby), pronounced water, is an open-source (BSD) family of Ruby libraries for automating web browsers. It allows you to write tests that are easy to read and maintain. It is simple and flexible.[4][5] Watir was primarily developed by Bret Pettichord and Paul Rogers. It drives Internet Explorer, Firefox, Chrome, Opera and Safari, and is available as a RubyGems gem.
Overview
Web Application Testing
Why Ruby
Installation
Make It Run
All examples are designed to work on the live Watir demo form: http://bit.ly/watir-example.
Run in .rb
You can require Ruby Watir gem first via the -rubygems command line option or by using the RUBYOPT environment variable. You can also require it manually in your script: require 'rubygems'
Including Watir gem to drive Internet Explorer on Windows require 'watir'
Including Watir-WebDriver gem to drive Firefox/Chrome on Windows/Mac/Linux require 'watir-webdriver'
Starting a new browser & and going to our site browser = Watir::Browser.new browser.goto 'http://bit.ly/watir-example'
Setting a text field
browser.text_field(:name => 'entry.0.single').set 'Watir'
Setting a multi-line text box browser.text_field(:name => 'entry.1.single').set "I come here from Australia. \n The weather is great here."
Setting and clearing a radio button browser.radio(:value => 'Watir').set browser.radio(:value => 'Watir').clear
Setting and clearing check boxes browser.checkbox(:value => 'Ruby').set browser.checkbox(:value => 'Python').set browser.checkbox(:value => 'Python').clear
Clicking a button browser.button(:name => 'logon').click
Clearing, getting and selecting selection list values browser.select_list(:name => 'entry.6.single').clear puts browser.select_list(:name => 'entry.6.single').options browser.select_list(:name => 'entry.6.single').select 'Chrome'
Clicking a button browser.button(:name => 'submit').click
Checking for text in a page puts browser.text.include? 'Your response has been recorded.'
Checking the title of a page puts browser.title == 'Thanks!'