2010-10-04 16 views
4

我們使用Watir和AutoIT在Windows上使用IE測試我們的Web應用程序。當Watir在處理本地Windows對話框(如用於上載的Windows文件對話框)時,AutoIT被使用。Watir和AutoIT的完整和真正的自動化

由於AutoIT,我們無法使用任務調度程序運行我們的測試,因爲Watir代碼中的AutoIT操作需要交互式桌面會話。

我們嘗試了一些技巧(從RDP等RDP),但沒有成功,並且不能夠做到真正的自動化。

任何想法?如果它能幫助我們實現真正的end2end測試自動化,請打開替換AutoIT。

回答

-1

我想替換Watir。 ;)

我對Watir不太瞭解,但我相信它只是一個包裝對象,您可以直接從AutoIt直接使用它的所有功能,通過ObjCreate("InternetExplorer.Application")或通過用戶定義的函數IE Management部分。

我相信你只能在AutoIt中編寫所有的測試腳本。爲什麼你需要一個交互式桌面會話?

+1

我猜你可以在Watir上閱讀關於如何/爲何用於Web測試的內容:-)在某些操作中,AutoIT腳本作爲計劃任務運行時會掛起,並且在登錄時同樣的腳本可以正常運行機器。 – Raj 2010-10-08 19:03:12

1

您需要使用以用戶權限運行的調度程序。我以前使用過CruiseControl.Net來做到這一點。

如果您的進程沒有用戶權限,則無法訪問桌面窗口,無論您是使用Watir,AutoIT還是其他工具,都需要這些。這是一個權限問題,而不是工具問題。

+0

用戶權限不是問題,因爲我們使用的服務帳戶具有對該框的完全管理權限。 – Raj 2010-10-08 19:01:11

+0

而且,我們已將它隔離到需要交互式桌面會話的AutoIT腳本 – Raj 2010-10-08 19:01:34

+1

該帳戶可能具有完全的管理員權限,但如果它作爲服務運行,則無法訪問桌面。換句話說,這是對進程而不是用戶的權限問題。 – 2010-10-22 21:27:41

-1

我想用iMacros替代Watir。這是一個商業解決方案,但它可以處理下載對話框等。而不像Autoit它可以同時管理多個實例

+0

謝謝薩姆,它看起來很有趣。如果我們要規劃這一舉措,將所有Ruby Watir腳本(以及我們有不少)遷移到此工具將會非常痛苦。說實話,我已經考慮轉向硒,但是這對我們來說太過分了。 – Raj 2010-10-10 23:14:07

2

當我們從作爲服務運行的TeamCity代理開始運行測試時,我們遇到了類似的問題。這是因爲您試圖從非交互式服務運行交互式進程。我們轉而讓TeamCity代理運行正常流程,問題就消失了。

您可能希望查看構建管理服務器來處理運行此操作而不是僅使用Task Scheduler,但是您希望避免將測試過程作爲服務運行。

+0

Thx - 會給它一個W/CI工具,看看它是否有幫助 – Raj 2010-10-18 23:31:21

+1

我完全同意。我在回覆中試圖說同樣的話。 – 2010-10-22 21:29:07