繁体   English   中英

使用excel将结果记录在ruby watir中。 如何使用puts保持不同单元格中的值

[英]Using excel to log results in ruby watir. how to keep values in different cells using puts

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

我使用以下命令将我的脚本结果记录到Excel工作表中。

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

这里测试通过,时间显示在单个单元格中。

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

请提出解决方案。 提前致谢!

最简单的解决方案可能是将结果记录在CSV(逗号分隔值)文件中。 这些可以像文本文件一样编写,也可以作为网格读取。

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

a1, b1, c1
a2, b2, c2

对于您的日志记录,您可以:

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

代码是:

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

您正在登录名为log.txt的文件,该文件似乎是纯文本文件。 如果您希望您的文件是excel文件,则需要格式,最容易写入的文件是.csv.tsv ,它代表逗号分隔变量和制表符分隔变量。 然后你可以用几种不同的方式写作。 你可以像以前一样写:

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

对于ts​​v(请注意,它不需要被称为.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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM