2012-11-29 155 views
0

我正在通過命令行界面對watir進行測試。將測試結果導出爲ex​​cel

我想要的是,當watir完成運行最後一行指令時,它應該在excel中輸出消息,例如, 「測試用例1通過了。」或「測試用例1失敗」。

我使用的Watir

+0

您正在使用哪種測試框架?獲取測試用例結果將取決於正在使用的框架。 –

+0

我正在使用Watir –

+0

Watir本身不是測試框架。 Watir只是一個驅動瀏覽器的工具。通常人們使用諸如Cucumber,RSpec,Test-Unit或Minitest等測試框架來進行實際的測試/報告。如果你分享一些你的代碼和你試過的東西,它可能會幫助我們找到一個與你擁有的很好集成的解決方案。 –

回答

1

如果你想寫出類拔萃,有各種寶石(庫)就可以使用。這裏有幾個選項。

WIN32OLE

有各種寶石,有可以寫入Excel文件。就我個人而言,我使用win32ole gem,因爲它不需要安裝額外的寶石。

創建一個Excel用這種寶石文件的一個例子是:

require 'win32ole' 
excel = WIN32OLE.new('Excel.Application') 
excel.visible = true 
workbook = excel.Workbooks.Add() 
worksheet = workbook.Worksheets(1) 
worksheet.Range("A1:B1").value = ["Test","Result"] 
worksheet.Range("A2:B2").value = ["Test Name 1", "Pass"] 

您可以添加格式,等等 - 見http://davidsulc.com/blog/2011/03/27/using-ruby-and-win32ole-to-manipulate-excel/

CSV

如果你不需要任何格式,你可以考慮使用CSV gem創建一個csv文件。

這種寶石創建一個CSV文件的一個例子是:

require 'csv' 
CSV.open("C:/Users/user/Desktop/file.csv", "wb") do |csv| 
    csv << ["Test","Result"] 
    csv << ["Test Name 1", "Pass"] 
end 

有關詳細信息,請參閱documentation

+0

嗨賈斯汀,我也使用WIN32OLE,也是我使用ADODBConnecter(只有當我想寫查詢)。但是你看到這個WIN32OLE與Ruby 64位解釋器不兼容。你爲此做了什麼? – Gopal

+0

@Gopal,不幸的是,我不必處理這個問題。我堅持使用32位版本。 –

+0

好的,謝謝。即使我使用32位版本,但如果我想移動64位Ruby,那麼這會阻礙我。 – Gopal