使用excel在ruby watir中logging结果。 如何使用put来保持不同单元格中的值

我是ruby新手,需要你的帮助。

我正在使用以下命令将我的脚本结果logging到Excel表单中。

File.open('c:\log.txt', 'w') do |file| file.puts("TEST PASSED" + "#{Time.now}") end 

在这里,testing通过,时间显示在一个单元格本身。

我想在不同的单元格中显示它们。

请提出解决scheme。 提前致谢!

您正在logging到一个名为log.txt的文件,该文件显示为纯文本文件。 如果你希望你的文件是一个excel文件,你需要一个格式,最简单的写入格式是.csv.tsv ,代表逗号分隔的variables和tab分隔的variables。 然后你可以用几种不同的方式写。 你可以像你一样写下:

 File.open('c:\log.tsv', 'w') do |file| file.puts("TEST PASSED\t" + "#{Time.now}") end 

为tsv(注意,它不需要被称为.tsv)

 File.open('c:\log.csv', 'w') do |file| file.puts("TEST PASSED," + "#{Time.now}") end 

为一个csv

或者你可以使用标准的csv库 。 像这样:

 CSV.open("c:\log.csv", "wb") do |csv| csv << ["TEST PASSED", "#{Time.now}"] end 

你可以操纵tsv的:

 CSV.open("c:\log.csv", "wb", { :col_sep => "\t" }) do |csv| csv << ["TEST PASSED", "#{Time.now}"] end 

最简单的解决scheme可能是将结果logging在CSV(逗号分隔值)文件中。 这些可以像文本文件一样书写,也可以通过Excel作为网格读取。

对于CSV文件,每行代表表中的一行。 在每一行中,列值(或单元格)用逗号分隔。 例如,以下内容将创build2列3列:

 a1, b1, c1 a2, b2, c2 

对于您的日志logging,您可以:

  • 创build一个log.csv而不是log.txt
  • 以逗号分隔输出值

代码将是:

 File.open('c:\log.csv', 'w') do |file| file.puts("TEST PASSED, #{Time.now}") end