Situation :
User want to click the field which is placed within 2 IFrames using selenium webdriver.
Field — Friendship
Source code for “Friendship” — <nobr>Friendship</nobr>
Frame ID’s –” nav” and “JobplaceFrame”
Code:
require ‘rubygems’
require ‘selenium-webdriver’
$browser = Selenium::WebDriver.for :ie
$browser.get "http://URL.com”
current_title=$browser.title
if current_title == “TITLE OF THE WEBPAGE”
puts “step 1 passed”
else
puts “step1 failed”
exit
end
$browser.switch_to.frame(‘nav’) #parent Frame
$browser.switch_to.frame(“JobplaceFrame”) #Child frame
options=$browser.find_elements(:tag_name=>”nobr”)
options.each do |nobr_field|
if nobr_field.text == 'Friendship'
nobr_field.click
break
end
end
Selenium IDE to Selenium WebDriver Ruby code conversion
September 2, 2011
1. Install Latest Mozilla Firefox browser (Now 6.0.x)
2. Install Latest Selenium IDE(Now 1.2.0) from http://seleniumhq.org/download/
3. Restart Fire fox — Open Selenium IDE (Tools –> Selenium IDE)
4. Options — Click Options
5. Change the settings like below

6. Record few actions in IDE and save the recorded script.
7. Refer Screenshot to convert it into Selenium WebDriver ruby code.
Handling Select Box using selenium-webdriver rubygem
August 19, 2011
Handling Select Box using selenium-webdriver rubygem
Assuming that select field –> name is ‘num’ and it has options –> “10 results” and “20 results”
User need to select “20 results” from selct box
Code:
a=driver.find_element(:name,’num’)
options=a.find_elements(:tag_name=>”option”)
options.each do |g|
if g.text == “20 results”
g.click
break
end
end
Selenium WebDriver Basics – Ruby
August 18, 2011
Installation:
1. Install Ruby
2. In Command Prompt >gem install selenium-webdriver
3. Copy and Paste the below code and save the file as sample_raveendran.rb
require ‘rubygems’
require “selenium-webdriver”
driver = Selenium::WebDriver.for :ie
driver.navigate.to “http://google.com”
if driver.title == “Google”
puts “Testcase 1 passed”
else
puts “Testcase 1 failed”
end
q = driver.find_element(:name, ‘q’)
q.send_keys “Raveendran Selenium”
q.submit
sleep 5
if driver.title == “RAVEENDRAN SELENIUM – Google Search”
puts “Testcase 2 passed”
else
puts “Testcase 2 failed”
end
q=driver.page_source
if q.include?(“raveendran.wordpress.com”)
puts “Testcase 3 passed”
else
puts “Testcase 3 failed”
end
driver.navigate.to “http://google.com”
a=driver.find_element(:link,’Advanced search’)
a.click
if driver.title == “Google Advanced Search”
puts “Testcase 4 passed”
else
puts “Testcase 4 failed”
end
a=driver.find_element(:name,’as_q’)
a.send_keys(“Raveendran Selenium”)
a=driver.find_element(:name,’num’)
options=a.find_elements(:tag_name=>”option”)
options.each do |g|
if g.text == “20 results”
g.click
break
end
end
a=driver.find_elements(:xpath=> ‘/html/body/table[2]/tbody/tr/td/table/tbody/tr/td/div
/form/div/table[4]/tbody/tr/td/input’)
a.each do |b|
b.click
end
sleep 4
if driver.title == “RAVEENDRAN SELENIUM – Google Search”
puts “Testcase 5 passed”
else
puts “Testcase 5 failed”
end
4. Run the ruby code
5. The Output looks like
Testcase 1 passed
Testcase 2 passed
Testcase 3 passed
Testcase 4 passed
Testcase 5 passed
watir-webdriver –> Ruby gem
May 30, 2011
Installation:
1. Install Ruby
2. Open Command Prompt >gem update –system
3. >gem install watir-webdriver
Usage:
The same script will work for multiple browsers like IE,FF,Chrome.
Code:
FOR IE :
require 'watir-webdriver'
browser = Watir::Browser.new :ie
browser.goto "http://google.com"
browser.text_field(:name => 'q').set("ruby watir watir-webdriver")
browser.button(:name => 'btnG').click
puts browser.url
browser.close
FOR Firefox,
change the second line --> browser = Watir::Browser.new :firefox
For Chrome,
change the second line --> browser = Watir::Browser.new :chrome
Overview about Watir-webdriver :

