Background
I used to use Selenium RC to do browser test for my products.I’d like to share of how to use it with like hello world sample.
Environment
- OS
- Linux 2.6.32-279.el6.x86_64 #1 SMP Fri Jun 22 12:19:21 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
- Ruby
- 2.1.2
Overview
This image from Official Page of Selenium RC. The sample script’s result is like following.
Development
Directory
. |-- Gemfile `-- spec `-- sample_spec.rb
Gemfile
source 'https://rubygems.org' gem 'selenium-webdriver' gem 'selenium-client' gem 'rspec'
sample_spec.rb
# encoding: utf-8 require "json" require "selenium-webdriver" require "rspec" include RSpec::Expectations describe "SeleniumRCTest" do before(:each) do # Local @driver = Selenium::WebDriver.for(:remote, :url => 'http://localhost:4444/wd/hub', :desired_capabilities => :firefox) #@driver = Selenium::WebDriver.for(:remote, :url => 'http://localhost:4444/wd/hub', :desired_capabilities => :chrome) #@driver = Selenium::WebDriver.for(:remote, :url => 'http://localhost:4444/wd/hub', :desired_capabilities => :ie) @base_url = "http://www.google.com/" @accept_next_alert = true @driver.manage.timeouts.implicit_wait = 30 @verification_errors = [] end after(:each) do @driver.quit @verification_errors.should == [] end it "test_sample" do # Search Amazon @driver.get "http://www.google.com" @driver.get(@base_url + "/?gfe_rd=ctrl&ei=6IUzU63nMoHN8ge88IHYBw&gws_rd=cr") @driver.find_element(:id, "gbqfq").clear @driver.find_element(:id, "gbqfq").send_keys "amazon" @driver.find_element(:css, "td > span").click end def element_present?(how, what) @driver.find_element(how, what) true rescue Selenium::WebDriver::Error::NoSuchElementError false end def alert_present?() @driver.switch_to.alert true rescue Selenium::WebDriver::Error::NoAlertPresentError false end def verify(&blk) yield rescue ExpectationNotMetError => ex @verification_errors << ex end def close_alert_and_get_its_text(how, what) alert = @driver.switch_to().alert() alert_text = alert.text if (@accept_next_alert) then alert.accept() else alert.dismiss() end alert_text ensure @accept_next_alert = true end end
Run sample
1. Download Selenium RC standalone server
Visit http://www.seleniumhq.org/download/Download Selenium Server (current version 2.44.0)
2. Run Selenium RC server
java -jar selenium-server-standalone-2.44.0.jar
3. Download IE and Chrome driver
Visit http://www.seleniumhq.org/download/and download IEDriver and chromedriver.
After downloading, run the drivers with double click.
4. Run
bundle exec rspec spec/
No comments yet.