CSC/ECE 517 Fall 2014/ch1a 19 mx

From Expertiza_Wiki
Revision as of 01:49, 14 September 2014 by Mliu9 (talk | contribs) (→‎Introduction)
Jump to navigation Jump to search

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. <ref name=Watir></ref><ref name=Opera></ref><ref name=Facebook></ref><ref name="Agile Testing"></ref> 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!'

Run in other framworks

Comparison with Other Tools

Reference