2010-01-20 124 views
1

我試圖在C#中的GUI。就是這同瀏覽器自動化。怎麼可以我開始UI自動化C#UI自動化

+2

請解釋一下這個問題。 – Bobby 2010-01-20 11:33:33

+2

你是否真的指UI *動畫*?或者您正在嘗試實現自動化測試UI?請添加更多的細節。 – Ash 2010-01-20 11:35:05

+0

可能重複(但尚未完全解答):http://stackoverflow.com/questions/2052915/whats-a-good-if-any-net-windows-automation-library – Abel 2010-01-20 11:40:48

回答

3

您可以使用微軟的UI Automation庫,但它並不好玩。 「白」是一個更好的選擇......看到:http://www.codeplex.com/white

編輯:

新的URL爲「白」項目,因爲它被轉移到TestStack在GitHub上:https://github.com/TestStack/White

+2

爲什麼它更好?它不是死了嗎? (在版本0.21後我沒有看到任何更新) – 2012-08-28 15:52:06

+0

使用Microsoft的UI Automation庫編寫的測試是冗長的,用White更少。我不認爲它已經死了,只有99%的人希望它能做到。代碼只是爲了使一個項目似乎活着沒有意義... – 2012-08-29 16:12:20

+0

如果我正在做的不是測試,而是更多地關於其他窗口爲自動化目的鉤住,我的代碼是相當通用的(我需要支持許多不同的應用程序),那麼White不是一個好的選擇,是嗎?據我瞭解,UIA更通用,因此冗長,而白色使用更容易理解和閱讀語法,但不太適合創建通用代碼? – 2012-08-31 20:31:43

5

如果您正在使用WPF自動化,微軟有一個非常詳細的UI自動化庫。

http://msdn.microsoft.com/en-us/library/ms747327.aspx

我環顧四周,但我無法找到的WinForms等效。

+0

非常有趣,我不知道這件事。有一些第三方測試工具允許用Winforms進行一些UI自動化,Ranorex(http://www.ranorex.com)就是其中之一。 – 2010-01-20 12:02:11

1

WiPFlash性好,易於在Microsofts UI自動化庫的頂部使用開源包裝器。但它們受底層Microsoft自動化結構的限制。

0

http://msdn.microsoft.com/en-us/library/ms747327.aspx像Alastair Pitts指出的那樣可以使用。據我所知,對於任何自動化任務都應該是有好處的 - 只要Windows能夠識別您的應用程序使用的控件作爲具有自動化支持的標準控件或控件。幾乎所有主要控制供應商都應該如此。並且也可以使用MFC,Win32,WinForms以及WPF和Silverlight。

通過啓動Spy ++並查看它顯示的內容,您可以瞭解您正在做什麼(反對)。

您可能還想使用White(opensource)或Rannorex(商業版)等工具聆聽其他想法。

0

如果您的GUI使用任何第三方Windows控件(如Devexpress控件或Telerik控件),請小心。

MS UI自動化將難以找到那些花哨的網格,可愛的菜單和漂亮的圖標。

談到TestStack.White,它使用MS UI Automation作爲基石,所以它將面臨同樣的問題定位詳細的GUI元素。

當您需要逐行操作網格時,您會知道,但是UI自動化或TestStack.White最遠只能返回表格對象,那麼在項目啓動之前您會發現所有浪費的R的努力。我就是這樣學習的,但現在我是專家。