2015-02-09 40 views
0

我有一個場景需要我在執行每個編碼UI測試方法之前或之後恢復爲乾淨的快照。我已經研究過使用TFS實驗室管理API(請參閱http://blogs.microsoft.co.il/shair/2011/12/22/tfs-api-part-42-getting-started-with-lab-management-api/)作爲TestInitialize和/或TestCleanup方法的一部分恢復到特定快照,但是我只能在本地執行時才能使其工作。當在遠程機器上執行時,我會遇到錯誤向TFS服務進行身份驗證。在TFS構建 - 部署 - 測試工作流程中的每個測試方法之前還是之後恢復快照?

我的其他選擇是以某種方式在構建過程模板(LabDefaultTemplate.11.xaml)中執行'testrun中的foreach測試'。我已經確定了我認爲最適合的區域,但在每個測試中找不到有關運行循環的任何文檔。

這是可能的東西,或者是否有某種內置的方法來完成這一點,我忽略了?

+0

您問題中的錯誤消息告訴您如何解決問題。你的問題表明它在本地工作,但是「*在遠程機器上執行時,我得到的錯誤是對TFS服務進行驗證*」。您需要正確認證,即使用具有必要權限的帳戶。 – AdrianHHH 2015-02-10 09:29:20

+0

謝謝你的迴應Adrian。那是我看起來最明顯的第一個地方,但無濟於事。我可以使用相同的憑據從本地開發環境可靠地向TFS服務進行身份驗證,但不能從測試環境進行身份驗證。我用盡了所有的想法,因此我轉到了處理工作流中的快照恢復的下一個選項,而不是代碼中。不知道我應該繼續下去的路徑 – Nick 2015-02-10 12:32:42

回答

0

要做你建議你應該切換到發佈管理,併爲每個分組創建一個單獨的測試運行,在你的情況下每個測試。您可以使用RM編排每個運行的循環,然後執行。

http://nakedalm.com/execute-tests-release-management-visual-studio-2013/

但是運行UI測試不應該打破你的應用程序,我建議,或者您的測試時間太長,或者出現在你的應用程序的設計有些缺陷。

+0

謝謝MrHinsh。我不知道發佈管理是一件事情。我將不得不考慮這一點。這種自動化專門用於測試安裝程序,該安裝程序還會安裝第三方組件,該組件可以對環境進行無證更改。每次測試後,我都無法可靠地清理安裝程序,因此在執行下一個測試之前,更容易恢復爲乾淨的shapshot。 – Nick 2015-02-10 12:22:04

相關問題