Watir Presentation - Sumanth Krishna. A

  • Uploaded by: Sumanth Krishna
  • 0
  • 0
  • December 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Watir Presentation - Sumanth Krishna. A as PDF for free.

More details

  • Words: 967
  • Pages: 27
Web Application Test In Ruby

Sumanth Krishna. A www.sumanthkrishna.com

Agenda Introducing the topic Discussion on Testing frameworks/tools and

it’s necessity Ruby Installations Architecture Testcases Scope

TAG CLOUD ruby

Apache

install

webserver FireWatir

Nginx

WATIR goto html web-applications

user

tests Assertions get_string

assertions

temp-

DOM opensource

firefox-addon

click hudson SVN COM open-source IE gems open-QA ruby regression loadrunner mercury automatio deployment browers tools

WATIR

html DOM

recorder

telnet

Prerequisites Can you believe you really don’t need any

special skills to implement this!

What is WATIR? open-source functional testing tool for web-

applications Simulate the user actions (filling/submitting forms…) Drives Internet Explorer browser FireWatir – for FireFox

Ruby based Various assertions (content-based) Connects to databases Reading data files Exporting data (xml/html/excel…)

Why use WATIR? Free Powerful Simple (easy to use and learn) Excellent Support Strongest Presence

Watir/Watin/Watij [Web Application Testing In

Ruby/.NET/Java ]

 Huge resource of supporting tools –

Firewatir, Watir Recorder ++, Wet, Cubictest,

Visual Studio

Is not? Watir is not a record/playback tool.  However, there are several recorders “out

there”  WatirMaker  Watir WebRecorder  Webmetrics RIA Script Recorder (most recent

discussion…they are considering open sourcing their application)

Watir is not a link checker  However, you can easily write your own link

checker and customize it to your specific needs. Watir is not a test case management tool.  However, you can write one in Ruby if

IE-WATIR Use the OLE/COM Automation interface to Internet Explorer

Web Application

DOM

IE

Automation Interface

Watir/Ruby

FF-FireWATIR Web Application

DOM

FF

JSSh

Automation Interface

FireWatir/Ruby

Browser Support

IE COM

FF JSSH

Apple Events

V8 Debugger

Dragonfly

Watir API Component 1

Component 2

Component 3

Test Script

Component 4

Installing: Windows  Install Ruby: Use the Ruby one-click installer for windows  Install the latest gem watir (ruby packages are called gems)

gem install watir And you find the following gems installing…  Successfully installed xml-simple-1.0.11  Successfully installed s4t-utils-1.0.4  Successfully installed builder-2.1.2  Successfully installed user-choices-1.1.6  Successfully installed commonwatir-1.6.2  Successfully installed firewatir-1.6.2 (to support Firefox)  Successfully installed watir-1.6.2  Successfully installed win32-api-1.3.0-x86-mswin32-60  Successfully installed windows-api-0.3.0  Successfully installed rubyforge-1.0.2  10 gems installed  Installation done… let’s move ahead

What Next? Since we are here to test the web-

application Navigate the browser? Find elements on the page? Interact with elements on the page? Check output on the page? Create and use Methods? Create formal test cases?

Step by Step Navigate to the browser #Always Load the Watir library at the top of

your script require ‘watir’

Start IE and navigate to a given/different

URL IE = Watir::IE.start(‘http://www.qvnatel.com’) IE.goto(“http://free-

opensource.qvantel.net/mediawiki//index.php /Main_Page ”) IE.close

Finding Elements TextBox

IE.text_field(how, what)

Button

IE.button(how, what)

DropDownList

IE.select_list(how, what)

CheckBox

IE.checkbox(how, what)

RadioButton

IE.radio(how, what)

HyperLink

IE.link(how, what)

Form

IE.form(how, what)

Frame

IE.frame(how, what)

And many, many more (div, label, image, etc…)…

Interacting with Elements #Set the text field (or text area) specified

name specified value. ie.text_field(:name,'name').set('value')

#Sets the select with to the specified value ie.select_list(:name,'name').select('value')

#Click the button with the specified value

(label) ie.button(:value,'value').click

#Clicks the link matching 'text' ie.link(:text,'text').click

#Accessing elements in a "frame" or

Closer view

browser.button(:value, "Click Me").click

[Variable] . [method] (: [element] , “ [unique identifier]” . [method]

Checking Output #Get the title of the page ie.title #Get all the text displayed on the page ie.text #Get all the HTML in the body of the page ie.html #Return true if ‘text’ is displayed on the page ie.contains_text('text')

Ruby advantage Since WATIR is ruby based web application

testing framework, we can customize the script according to our needs. Taking Ruby’s Object Oriented concepts, create more dynamic/customized scripts Use classes & methods effectively Access even the database to validate the data

Test::Unit Assertions

Methods  #Here is an example method for logging into a web

application. Its two parameters are a user and password (both of which have defaults). It returns an instance of IE def login(user=“test_admin”,password = “Password123”) ie=Watir::IE.start(‘http://someURL.com/login’) ie.text_field(:name,/user/i).set(user) ie.text_field(:name,/password/i).set(password) ie.button(:value,/login/i).click return ie end

 #Now we can easily login with the default user..  ie = login  #or with a unique user  ie = login(“Fred”,”flinstone”)

Full Fledge Test Case require 'test/unit' #includes Ruby's test case functionality  require ‘util’ #Assuming our login method is saved in util.rb 

#Test cases are contained within classes which extend Ruby’s base test case class class MyTest < Test::Unit::TestCase def setup #Optional, will be run before each test method. @ie = login() #call our login function. end 

def test_some_link #Test methods must begin with "test_“ @ie.link(:text,”some_link”).click #click on some link #verify that the proper page loaded assert(@ie.contains_text(“My Some Link Page”)) end def teardown #Optional, will be run after each test method. @ie.close end end

Installing: Ubuntu  Install Ruby:

sudo apt-get install ruby  Install the latest gem firewatir (ruby packages are called gems)

sudo gem install firewatir And you find the following gems installing…  Successfully installed xml-simple-1.0.11  Successfully installed s4t-utils-1.0.4  Successfully installed builder-2.1.2  Successfully installed user-choices-1.1.6  Successfully installed commonwatir-1.6.2  Successfully installed firewatir-1.6.2  Successfully installed rubyforge-1.0.2  7 gems installed (3gems to support IE/Windows environment are not installed)

 Installation done… let’s move ahead

Tweaks/Tips While working on Linux platform need to

specify require “rubygems” at the top of test case

ff = FireWatir::Firefox.new Start firefox in jssh mode For Windows:  Close instances of firefox (if any)  Type “firefox.exe –p –jssh” in the “Run”

ie = Watir::IE.new

Scope Using Watir for all web applications Integrate it with Automation/Building

process

 Watir

References

Wikipedia: http://en.wikipedia.org/wiki/Watir Watir main site: http://wiki.openqa.org/display/WTR/ Watir user guide: wtr.rubyforge.org/watir_user_guide.html Watir API: wtr.rubyforge.org/rdoc/index.html Mailing List: rubyforge.org/mailman/listinfo/wtr-general Project site: http://wiki.openqa.org/display/WTR/ User Contributions/examples: http://wiki.openqa.org/display/WTR/Contributions Watir FAQ: http://wiki.openqa.org/display/WTR/FAQ  Watir Recorder

http://www.hanselman.com/blog/IntroducingWatirMakerRecordingForRubybasedW http://www.hanselman.com/blog/NewReleaseOfWatirMakerNowWatirRecorder. aspx  FireWatir

Source: http://code.google.com/p/firewatir/wiki/Firewatir  Ruby

Ruby site: http://ruby-lang.org Ruby docs: http://ruby-doc.org/ Ruby Quickstart: ruby-lang.org/en/documentation/quickstart/

Thanks [email protected] www.sumanthkrishna.com

Related Documents

Krishna
June 2020 13
Krishna
August 2019 35
Krishna
May 2020 17
Krishna
May 2020 25
Krishna
December 2019 25

More Documents from "vaartha"