You can learn more.....
require 'watir'
require 'test/unit'
require 'script_runner'
include Watir
class YatraFlights < Test::Unit::TestCase
script_runner = ScriptRunner.new("C:","C:","Yatra_Flights","",4,4,false)
def test_01_Homepage
$ie = IE.new
$ie.goto("http://www.yatra.com/")
$ie.maximize()
$ie.bring_to_front()
$ie.maximize()
assert($ie.text_field(:name ,"ddate").exists?)
assert($ie.link(:text,"Hotels").exists?)
#~ assert($ie.contains_text("Book your Trip!"))
end
def test_02_Flight_Book_Page
$ie.maximize()
x=(Date.today+(25)).strftime('%d/%m/%Y')
y=(Date.today+(28)).strftime('%d/%m/%Y')
$ie.radio(:name,"type","O").set
$ie.selectBox( :name ,"origin").select("Bangalore")
$ie.selectBox( :name ,"destination").select("Mumbai")
$ie.text_field(:name,'ddate').value=x
$ie.button(:id,'flightsonlybtn').click
$ie.maximize()
$ie.bring_to_front()
$ie.maximize()
#~ assert($ie.image(:src,/selectDepart.gif/).exists?)
assert($ie.contains_text("Selection Summary"))
assert($ie.image(:src,/selectDepart.gif/).exists?)
end
def test_03_Flight_Booking_Results_Page
#~ $ie.image(:src,/selectDepart.gif/).click
$ie.image(:src,/selectDepart.gif/).click
sleep 5
assert($ie.contains_text("Total Travel Price"))
assert($ie.button(:value,/Continue/).exists?)
end
def test_04_Flight_Review_Page #Yatra Flight Passenger Page
#~ $ie.div(:id,'contBooking').button(:name,'submit').click
$ie.button(:value,/Continue/).click
#~ assert($ie.checkbox(:name,'ch1').exists?)
assert($ie.contains_text(/Review Details/))
assert($ie.contains_text(/Pricing Details/))
assert($ie.button(:alt,/Continue Booking/).exists?)
end
def test_05_Flight_Passenger_Page
$ie.radio(:name,/barclay_radio/).click
$ie.checkbox(:name,'ch1').set
$ie.checkbox(:name,'ch3').set
$ie.button(:alt,/Continue Booking/).click
assert($ie.text_field(:name,'contact_first_name').exists?)
assert($ie.text_field(:name,'password').exists?)
end
This will help you for Automation Software Testing with Watir Tool(Ruby)
Saturday, July 3, 2010
Wednesday, June 9, 2010
Watir: Watir Scripting
Ruby Database
equire 'win32ole'
class SqlServer
# This class manages database connection and queries
attr_accessor :connection, :data, :fields
attr_writer :username, :password
def initialize(sclient,script,pagecode,pagenum,host='', username='', password='',database='')
puts "in init"
#~ @dbtype=readINI("C:/config/DB.ini","DBtype")
@connection = nil
@@sclient=sclient
@@script=script
@@pagecode=pagecode
@@pagenum=pagenum
@data = nil
@timeout=60
@sclient2=sclient
puts "in init"
end
#end
def open()
# Open ADO connection to the SQL Server database
connection_string = "Provider=SQLOLEDB.1;"
connection_string << "Persist Security Info=False;"
connection_string << "User ID=#{$username};"
connection_string << "password=#{$password};"
connection_string << "Initial Catalog=#{$database};"
connection_string << "Data Source=#{$host};"
connection_string <<"Connect Timeout=#{@timeout};"
connection_string << "Network Library=dbmssocn"
puts connection_string
@connection = WIN32OLE.new('ADODB.Connection')
#~ if @dbtype="mssql"
@connection.Open(connection_string)
#~ else
#~ $dbh = Mysql.real_connect( @host,@username,@password ,@database)
#~ end
end
def query(sql)
# Create an instance of an ADO Recordset
recordset = WIN32OLE.new('ADODB.Recordset')
#puts @connection
# Open the recordset, using an SQL statement and the
# existing ADO connection
recordset.Open(sql, @connection)
# Create and populate an array of field names
@fields = []
recordset.Fields.each do |field|
@fields << field.Name
end
begin
# Move to the first record/row, if any exist
recordset.MoveFirst
# Grab all records
@data = recordset.GetRows
rescue
@data = []
end
#~ recordset.Close
# An ADO Recordset's GetRows method returns an array
# of columns, so we'll use the transpose method to
# convert it to an array of rows
@data = @data.transpose
end
def close
#~ recordset.Close
@connection.Close
end
end
equire 'win32ole'
class SqlServer
# This class manages database connection and queries
attr_accessor :connection, :data, :fields
attr_writer :username, :password
def initialize(sclient,script,pagecode,pagenum,host='', username='', password='',database='')
puts "in init"
#~ @dbtype=readINI("C:/config/DB.ini","DBtype")
@connection = nil
@@sclient=sclient
@@script=script
@@pagecode=pagecode
@@pagenum=pagenum
@data = nil
@timeout=60
@sclient2=sclient
puts "in init"
end
#end
def open()
# Open ADO connection to the SQL Server database
connection_string = "Provider=SQLOLEDB.1;"
connection_string << "Persist Security Info=False;"
connection_string << "User ID=#{$username};"
connection_string << "password=#{$password};"
connection_string << "Initial Catalog=#{$database};"
connection_string << "Data Source=#{$host};"
connection_string <<"Connect Timeout=#{@timeout};"
connection_string << "Network Library=dbmssocn"
puts connection_string
@connection = WIN32OLE.new('ADODB.Connection')
#~ if @dbtype="mssql"
@connection.Open(connection_string)
#~ else
#~ $dbh = Mysql.real_connect( @host,@username,@password ,@database)
#~ end
end
def query(sql)
# Create an instance of an ADO Recordset
recordset = WIN32OLE.new('ADODB.Recordset')
#puts @connection
# Open the recordset, using an SQL statement and the
# existing ADO connection
recordset.Open(sql, @connection)
# Create and populate an array of field names
@fields = []
recordset.Fields.each do |field|
@fields << field.Name
end
begin
# Move to the first record/row, if any exist
recordset.MoveFirst
# Grab all records
@data = recordset.GetRows
rescue
@data = []
end
#~ recordset.Close
# An ADO Recordset's GetRows method returns an array
# of columns, so we'll use the transpose method to
# convert it to an array of rows
@data = @data.transpose
end
def close
#~ recordset.Close
@connection.Close
end
end
Subscribe to:
Posts (Atom)