利用spreadsheet可以处理excel文档(仅xls格式),若测试数据被放于excel中,我们就可以利用脚本来获取测试数据用于自动化测试过程。
例如,我们需要读出C:\test.xls中的数据,可以利用以下脚本:
require 'spreadsheet'
Spreadsheet.client_encoding = 'UTF-8'
book = Spreadsheet.open 'C:/test.xls'
sheet1=book.worksheet 'Sheet1'
sheet1.each do |row|
……
end
另外,对于xlsx格式,目前找到的解决方法是再安装一个roo。但是在windows环境下安装时,遇到了“libxml2 is missing”的问题,在网上搜索了诸多方法(尝试过安装Cygwin),仍未解决。不过,若是在linux环境下,仅需利用apt-get install libxml2命令即可成功安装(已尝试在Debian下安装成功)。