我是ruby watir的新手,需要你的帮助。
我使用以下命令将我的脚本结果记录到Excel工作表中。
File.open('c:\log.txt', 'w') do |file|
file.puts("TEST PASSED" + "#{Time.now}")
end
此处测试通过,时间显示在单个单元格中。
我想在不同的单元格中显示它们。
请提出解决方案。 提前谢谢!
答案 0 :(得分:1)
最简单的解决方案可能是将结果记录在CSV(逗号分隔值)文件中。这些可以像文本文件一样编写,也可以作为网格读取。
对于CSV文件,每行代表表中的一行。在每行中,列值(或单元格)用逗号分隔。例如,以下内容将创建包含3列的2行:
a1, b1, c1
a2, b2, c2
对于您的日志记录,您可以:
代码如下:
File.open('c:\log.csv', 'w') do |file|
file.puts("TEST PASSED, #{Time.now}")
end
答案 1 :(得分:1)
您正在登录名为log.txt
的文件,该文件似乎是纯文本文件。如果您希望您的文件是excel文件,则需要格式,最容易写入的文件是.csv
或.tsv
,它代表逗号分隔变量和制表符分隔变量。然后你可以用几种不同的方式写作。你可以像以前一样写:
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
或者您可以使用standard csv library。像这样:
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