I tried using using keyword driven framework as mentioned on openQA
wiki page

Source code I used:


#Include The Library
require 'rubygems'
require 'win32ole'
require 'watir'
require 'element_collections'
require 'screen_capture'

begin

#Open Excel File
excel = WIN32OLE::new('excel.Application')
excel.DisplayAlerts = false
workbook = excel.Workbooks.Open('C:\\Users\\amanpreet.oberoi\\Desktop\
\Google.xls')
#Loop through the worksheets
for i in 1 .. workbook.Worksheets.Count

puts "Inside Worksheet Loop"
  worksheet = workbook.Worksheets(1)
  rowcount = worksheet.UsedRange.Rows.Count

  for j in 2..rowcount
    Keyword =worksheet.Cells(j, 1).value
    puts "Fetching Row/Column Value 1"
    Object_Prop_Name = worksheet.Cells(j, 2).value
    puts "Fetching Row/Column Value 2"
    Object_Prop_Value = worksheet.Cells(j, 3).value
    puts "Fetching Row/Column Value 3"
    Expected_Output = worksheet.Cells(j, 4).value
    puts "Fetching Row/Column Value 4"
    Parm_01 = worksheet.Cells(j, 6).value
    puts "Fetching Row/Column Value 6"

    case Keyword
      when /^OpenURL/
      @Browser=IE.start(Parm_01)
      puts "Opening the Browser"
      @Browser.maximize

      when /^SetText/
      @Browser.text_field(:"#{Object_Prop_Name}",
Object_Prop_Value).set(Parm_01)

      when/^ClickButton/
      @Browser.button(:"#{Object_Prop_Name}", Object_Prop_Value).click

     when/^ClickLink/
    @Browser.link(:"#{Object_Prop_Name}", Object_Prop_Value).click

    when/^CloseURL/
    @Browser.close

    when/^Result/
    Actual_Output=verify_text(Expected_Output,"Pass","Fail")
    worksheet.Cells(j, 5)['Value']=Actual_Output
    time_stamp_s = Time.new.strftime('%m%d_%H%M_%S')
    screenshot_filename="#{time_stamp_s}_#{Expected_Output}"+"\.jpg"
    screen_capture(screenshot_filename,active_window_only=false,
save_as_bmp=false)
    worksheet.Cells(j, 7)['Value']=screenshot_filename
    workbook.SaveAs('C:\Users\amanpreet.oberoi\Desktop\Google.xls')
    else
      "Exit"
    end

  end

end
 workbook.Close()
excel.quit()

  rescue
  workbook.Close()
  excel.quit()
end



On running the above code no browser window opens up as well no error
is reported.

Script   Output

Inside Worksheet Loop
Fetching Row/Column Value 1
Fetching Row/Column Value 2
Fetching Row/Column Value 3
Fetching Row/Column Value 4
Fetching Row/Column Value 6

-- 
Before posting, please read http://watir.com/support. In short: search before 
you ask, be nice.

watir-general@googlegroups.com
http://groups.google.com/group/watir-general
watir-general+unsubscr...@googlegroups.com

Reply via email to