在CI

2

中運行自動化UI測試我正在爲大型WPF應用程序開發自動化測試套件。我爲Microsoft Windows Automation API(以前稱爲UI自動化框架)創建了一個包裝庫,並且我使用它來實施各種健全性測試。我的團隊希望通過在每次入住時運行這些測試來進行持續集成。我們正在與TFS(2012我相信)和MSTest合作。在CI

這些測試的問題是它們需要啓動和運行UI才能真正運行測試。我想這個想法是將構建的二進制文件複製到遠程虛擬機,並使用遠程代理運行測試,但我不確定從哪裏開始。

有沒有人曾經這樣做過,並有任何代碼/構建工作流程XAML的例子來實現這樣的事情?

+0

您是否有權使用實驗室管理功能? (例如,你有VS 2012溢價或終極) – Betty

+0

是的,我們使用VS 2012旗艦版。 –

回答

2

您需要在測試機器上設置一個標準環境,它將在測試機器上安裝測試代理。測試代理然後在您的UI上爲您運行測試。

這應該讓你開始: http://msdn.microsoft.com/en-us/library/ee390842.aspx

+0

我今天試過。不幸的是,我們的TFS服務器是2010年,而我們正在使用VS 2012.當然,這通常不是問題,但是,您無法通過VS 2012集成2010年測試控制器,並且您無法將2012年測試控制器與TFS我將嘗試使用外部CI解決方案,如TeamCity。 –

1

對於我的CI服務器,我通過JetBrains的使用TeamCity。有了它,您可以設置多個構建代理來輕鬆連接到TeamCity服務器。

特別是關於使用UI自動化進行測試時,您需要在所有構建代理上進行交互式桌面會話,如前所述。爲此,我將它們都設置爲自動登錄,並且我有一個運行C:\BuildAgent\bin\agent.bat start的啓動腳本,以便TeamCity代理在交互式會話中啓動。

TeamCity非常適合TFS,應該能夠輕鬆地運行測試。我使用NUnit作爲我的測試跑者,但我無法想象這是非常困難的to get running。最重要的是,它可以免費用於三個構建代理和多達20個構建配置。

希望這會有所幫助。

+0

常規虛擬機(不是構建代理虛擬機)怎麼樣?像測試控制器和測試代理一樣? – IbrarMumtaz

+0

對不起,我不確定我是否理解這個問題。你問一個虛擬機是否可以成爲構建代理?好的。這是我的設置。 – Levi

+0

我設法弄明白了,我們的構建代理將更改推送到新創建的虛擬機中,我正在思考你提到的交互式桌面。我使用簡單的控制器和代理方案解決了這個問題。所以最終我們的構建代理不執行自動UI測試。新創建的VM將執行測試。 – IbrarMumtaz