2010-10-14 21 views
1

我有一個watir測試,它將一些信息從一個web應用下載到一個Excel文件中,然後我打開該文件來確認內容。在我的開發框中一切正常,但計劃的自動運行(通過Hudson)總是會失敗,試圖打開Excel文件。我檢查了兩臺機器上都註冊了正確版本的AutoITX3.dll(Ruby 1.8,Watir 1.6.5)。沒有其他版本的AutoITx3在任何一臺機器上註冊。如果dll沒有註冊,Hudson盒子上的錯誤是預期的錯誤,但它在與我的開發盒相同的位置上存在於註冊表中。這兩臺機器都是WinXP。 在Hudson框上手動運行測試會導致相同的錯誤 - 未知的OLE服務器:'Excel.Application'HRESULT錯誤代碼:0x800401f3無效的類字符串。Watir Excel調用不能在虛擬機上工作

我搜索了類似的錯誤,看到一個在虛擬機上運行的實例導致了類似的問題,但只有在VM窗口關閉的情況下。我不認爲這是代碼錯誤,因爲它在開發箱上運行。任何建議調試這個?

TIA, 薩布麗娜

+0

有人在下面回答你的問題。如果是這樣,請將其標記爲正確答案。如果沒有,請提供更多信息。 – 2010-11-11 16:20:18

回答

0

我終於明白了。我認爲在遠程計算機上進行Excel工作的原因是免費的Excel 閱讀器,它沒有WIN32OLE在註冊表中查找的API掛鉤。安裝完整的Excel程序,現在一切正常。我知道宇宙會一致!

1

我發現使用的Excel是在測試自動化的反模式。我知道很多人喜歡它,但是如果你使用它來實現自動化,那麼有更簡單的方法去實現它。考慮將CSV與FasterCSV一起用於自動化測試,並檢查任何我認爲正在使用的版本控制。恕我直言,你應該只在涉及人類的時候使用Excel--例如你可以在CSV中定義一系列測試,但是你可以在Excel中編輯它們,然後在源代碼管理系統中進行編輯,保存它作爲CSV。

Excel是無用的差異,所以它不能很好地存儲在一個源代碼回購,沒有理由將它安裝在CI框,當CSV會做,並做得更好。

這是我的2美分無論如何。 :)

乾杯,

查理

+0

我對測試用例並不清楚;-)它是Web應用程序功能的一部分,用戶可以將信息保存到Excel文件中。我*有*使用Excel。不習慣數據驅動自動化,它是測試本身的一部分。 – Sabrina 2010-10-14 22:15:01

1

我會做的問題,另一個搜索和離開的Watir出來。我可以找到與FoxPro,Perl和Oracle相關的0x800401f3的幾個問題。

0

你想要測試什麼?

  1. 該用戶可以用Excel打開下載的文件嗎?你如何自動驗證?隨着屏幕截圖?
  2. 或者某些數據在文件中?在這種情況下,我會用roo之類的東西來驗證文件的內容。
+0

我同時驗證內容是否正確以及文件是否可以通過Excel打開的.xls格式。大多數情況下,我感到困惑的是,爲什麼測試在兩個表面上類似的環境(OS,Ruby/Watir版本等)中行爲如此不同。宇宙應該是一致的! – Sabrina 2010-10-21 15:34:59

+1

與宇宙祝好運。 :) – 2010-10-22 09:38:08

+0

(低沉的抽泣噪音);-) – Sabrina 2010-12-21 20:25:37

1

本文看一看http://support.persits.com/show.asp?code=PS01032622

這名可能的原因爲您的錯誤代碼。

bq。此錯誤表示組件未在服務器上註冊,或者傳遞給Server.CreateObject方法的ProgID拼寫錯誤。在Windows 2003和XP上,它也可能意味着系統註冊表項上的權限問題。

我認爲你的最後一個是相關的:

bq。在Windows 2003和XP上,它也可能意味着系統註冊表項上的權限問題。

順便說一句,我googled爲「:0x800401f3無效的類字符串。」這是第一個結果。

+1

我同意。問題是Excel未在生成機器上正確安裝/註冊。也許它不適用於所有帳戶,或者構建服務器可能作爲服務運行。 OP對AutoIT的評論是一條紅色的鯡魚。 – 2010-10-22 21:36:20

+0

我可以在測試機器上打開確切的文件,測試應該打開,Excel啓動時不會出現問題,顯示正確的數據。除非有其他方式來測試註冊表,否則它似乎已正確安裝。我以運行測試過程的相同用戶身份登錄,因此它也不是權限問題。我希望我可以將這個問題標記爲已回答,但問題仍然存在。 – Sabrina 2010-12-21 20:25:07

+0

您是否嘗試手動運行Hudson運行的相同測試?這將是實際的測試。運行測試過程的用戶是哈德森運行的用戶,是否正確?或者你是否在作業中明確切換用戶上下文?來自Bret P.的服務評論僅在服務在local_system帳戶下運行時才重要。在這種情況下,您需要啓用「允許與桌面交互」(或類似的東西)。但在這種情況下,您的測試將以local_system運行。 – 2010-12-21 21:28:48