2013-08-07 74 views
2

由於我使用Selenium/MSTest進行UI測試,我遇到了一個問題:我需要在自動化測試之前將ASP.NET站點部署到臨時服務器在TFS構建期間執行(TFS 2012)。在執行測試之前更改TFS Build以部署

雖然我認爲我可以在TFS生成過程模板(DefaultTemplate.xaml),我想不出如何更改爲了執行建設 - > Deploy->測試流做此配置。

注意我在使用TFS Lab Environment時發現了一些幫助實現此目標的方法,但這不是我的情況。

回答

1

最後,我已經解決了這個問題鏈構建。

例如,當我排隊一個生產版本,這是序列:

  1. 構建,部署到沒有UI分期測試
  2. 構建,沒有部署,分期UI測試只
  3. 構建,部署到生產環境沒有UI測試
  4. 構建,沒有部署,生產UI測試只

我從這個解決方案博客文章:

帖子的作者發佈修改後的DefaultTemplate。XAML(構建定義)在GitHub的要點是:

積分整個博客!

0

一個簡單的解決方案是在構建定義中指定一箇中間msbuild項目文件,並從那裏調用實際的解決方案文件。

然後,您可以在構建之前或之後執行所需的任何操作,以確保環境在TFS執行測試之前啓動並運行。在TFS運行我們的集成測試之前,我們需要編譯和部署數據庫。

這是避免必須操作構建模板的一種解決方案。

1

默認模板單元測試與UI測試不同。默認模板用於運行Build - > Unit Test - > Deploy。

你現在在Build - > unit Test - > Deploy - > UI Test。

對於UI測試,您需要單獨的測試代理並在交互過程中設置構建代理。

這些鏈接可以幫助

+0

我很感謝你的信息,但我覺得你根本沒有讀過我的問題。我知道現在我在另一個流程中,這很清楚,但是我問*如何實現這樣的流程*。另外,我說我知道Lab Manager的方法......但我只想運行UI測試,你知道的。無論如何,謝謝你的努力。 –

+0

另外,您是否會詳細說明「您需要單獨的測試代理」?關於「互動過程」,我不這麼認爲,因爲我使用PhantomJS。測試正在執行沒有問題。它是關於*何時執行的。謝謝! –

+0

道歉誤解了你的問題。我認爲你正在嘗試在構建之後運行編碼UI測試。有關測試代理在此鏈接的更多細節http://stackoverflow.com/questions/7265192/how-can-tfs-build-process-be-configured-to-execute-tests-on-test-agents-through/7331110# 7331110。我從來沒有試過PhantomJS。我想你的情況在構建之後運行單元測試,你需要定製構建模板。 – suresh2

相關問題