Watir数据驱动- Excel

上一篇 / 下一篇  2010-12-21 15:02:35 / 个人分类:ruby+watir

在Watir中做数据驱动,采用Excel作为数据源是个不错的选择,使用Excel需要win32ole包,读取Excel非常方便:
 
require 'win32ole'
 
excel = WIN32OLE::new('excel.Application')
 
workbook = excel.Workbooks.Open('D:\\Ruby Watir\\Watir\\watir project\\Data.xls')
worksheet = workbook.Worksheets(1) #定位到第一个sheet
worksheet.Select
 
line=1
data = []
while worksheet.Range("a#{line}")['value']
   puts worksheet.Range("a#{line}:b#{line}")['value'] #输出每行的第一列和第二列数据
   data << worksheet.Range("a#{line}:b#{line}")['value'] #存到数组中
   line = line + 1
end
 
excel.Quit
 
 
关于Watir数据驱动:
 
 
有现成的Excel接口类库可以简化Excel数据的读写:
 
下面是采用这个类库写的Watir数据驱动测试脚本:
require 'xls'
require 'watir'
 
xlFile = XLS.new(Dir.pwd + '/test_XLS_data.xls') #grab the data file in the same dirrectory
myData = xlFile.getRowRecords('Google Search Data','Example') #pull data records from excel
xlFile.close
myData.each do |record|
 ie = Watir::IE.start('google.com')
 ie.text_field(:name,'q').set(record['SearchString'])
 ie.button(:value,/Search/i).click
 if ie.contains_text(record['ContainsText'])
   puts "Results of search: '#{record['SearchString']}' contains '#{record['ContainsText']}'"
 else
   puts "Error: could not find text: '#{record['ContainsText']}' in results of search: '#{record['SearchString']}'"
 end
 sleep 3
 ie.close
end

TAG:

 

评分:0

我来说两句

Open Toolbar