2008-08-24 127 views
45

我對業務層單元測試的nunit很熟悉,但是現在我正在尋找自動化贏取窗體gui層的測試。有什麼辦法可以自動化Windows窗體測試嗎?

我看過watin和watin錄像機,通過訪問控件並自動化它們來自動測試Web應用程序。然而,我正在努力尋找一個相當於Windows窗體(用c#或vb.net編寫)的watin等效物,最好是開源的。

是否存在或基於錄製鼠標和鍵盤按鍵的產品?

更新:我看過這個blog post on white,它似乎是我在尋找的東西。博客文章引發了一些問題,但由於白色版本只在0.6版本中可以解決。有興趣的話,如果其他人使用白色或任何其他人比較。

回答

7

AutomatedQA's TestComplete是一個很好的自動化GUI測試的測試應用程序。它不僅僅支持Windows窗體,因此您可以將其重用於其他應用程序。它不是開源的,這是我找到的最好的。我還沒有看到相當於WatiN的開源代碼。它確實有免費試用,因爲您決定是否喜歡它。我和它一起使用的主要原因是,與其他測試應用程序相比,它確實具有成本效益。

0

你可以檢查出微軟UI Automation框架。自3.0版以來,這已包含在.NET中。這實際上是白色框架無論如何使用。

2

就我所知,White是微軟UI Automation框架頂層的抽象層。我寫了一個類似的圖層,我們在項目內部使用它,並且效果很好。因此,白色將確定值得一看

微軟已經向UI自動化發佈了源代碼,所以如果有必要,你應該能夠在必要時調試整個堆棧。

真的很酷的事情是,使用許可證成本,您可以擴展並運行儘可能多的機器,以便執行。

我們在VSTS內部運行,並將結果鏈接到需求,但是您可以使用c#express和nUnit並以幾乎沒有成本的方式獲得一流的工具和語言。

2

下面是從MSDN雜誌上的自動測試代碼一些鏈接:

  • 使用UIAutomation Bugslayer 2007年3月
  • 使用PowerShell Test Run 2007年12月
  • 測試儀,一個實用程序,用於記錄鼠標點擊和按鍵,然後玩他們回&程序檢查行爲。非常適合非託管代碼。使用Windows句柄,因此可能無法很好地用於託管代碼。 Bugslayer 2002年3月。
0

您可以考慮使用Coded UI,一個Visual Studio內置功能和UI自動化的一部分:

自動化測試,通過其用戶界面 (UI)驅動應用程序被稱爲編碼的UI測試(CUITs)。這些測試包括UI控件的功能測試 。他們讓您驗證整個應用程序(包括其用戶界面)是否正常運行 。如果在用戶界面中有 驗證或其他邏輯,例如在網頁 頁面中,編碼的UI測試特別有用。它們也經常用於使現有的手冊 測試自動化。

[...]一個典型的開發 的經驗可能是一個地方,一開始,你只需建立自己的應用程序 (F5),並通過點擊UI控件來驗證 事情都正常工作。然後,您可能會決定創建一個編碼爲 的測試,以便您不需要手動繼續測試應用程序 。根據在您的應用程序中測試的特定功能,您可以編寫代碼進行功能測試,也可以編寫代碼進行集成測試,該測試可能包含或不包括在 UI級別的測試。如果您只是想直接訪問某些業務邏輯,您可能需要編寫單元測試。但是,在某些情況下, 可能會對您的應用程序中的各種UI控件的測試帶來益處。編碼的UI測試可以自動執行初始(F5) 方案,驗證代碼流失不會影響應用程序的功能 。

更多詳情:https://docs.microsoft.com/en-us/visualstudio/test/use-ui-automation-to-test-your-code

相關問題