2009-01-28 47 views
3

我試圖讓我的WATIN測試在TFS2008(持續集成)中作爲夜間構建的一部分工作。Watin在TFS 2008?

所有的測試都可以在我的本地機器上正常工作(來自VS2008),而且我的單元測試(非watin)在本地以及TFS都能很好地工作。

,說明我們正在做的事情 我有一個簡單的測試:

[TestMethod] 
    public void Watin() 
    { 
     //set up stuff 

     browser.GoTo("http://localhost/"); 
    } 

當運行在TFS測試,這將導致以下錯誤:

TestTypes\37e36796-fb51-4610-8d5c-e00ceaa68b9f could not be loaded because the TIP could not be instantiated for the following reason(s): System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.VisualStudio.QualityTools.Tips.WebLoadTest.Tip, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified. File name: 'Microsoft.VisualStudio.QualityTools.Tips.WebLoadTest.Tip, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' at System.RuntimeTypeHandle._GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark& stackMark, Boolean loadTypeFromPartialName)

當搜索因爲類似的問題,我被引導認爲這是我們正在使用的TFS版本的一個問題 - 但我不確定。我們正在使用TFS 2008開發版/ VS2008開發版

我們嘗試下載TFS套件試用版,其中包含有問題的DLL。我們已經將WebLoadTest.Tip文件複製到TFS服務器的全局程序集緩存中(只是爲了查看是否可以解決問題)。這也導致在使錯誤消失,但不幸的是它產生的一個新問題:

MSBUILD : warning MSB6006: "MSTest.exe" exited with code 1.

是解決此問題升級到Suite版本的唯一途徑?這看起來有點嚴格。

任何幫助表示讚賞!

編輯: 我不明白的是它似乎需要TFS的WebLoadTest功能,即使我們沒有明確地調用它。相反,我們使用的是第三方框架Watin。 我不認爲Watin也有任何webloadtest依賴關係。

+0

你是否嘗試過從命令行運行msbuild並查看它吐出的錯誤? 我有一個問題,mstest或msbuild返回相同的代碼,但直到我從命令行運行時,我看到了實際的錯誤。 – mjallday 2009-01-29 14:30:41

+0

我正在研究在TFS下運行WatiN測試。我沒有遇到這個問題,但我必須在VSTestHost可以找到它的服務器上安裝WatiN.core.dll。 現在我打了一個WatiN超時錯誤加載IE瀏覽器 - 我想我應該發佈一個單獨的問題。 – 2009-05-28 22:58:46

回答

1

在構建服務器上獲取正確的程序集和其他所有內容以執行Team System的自動構建是非常困難的。支持的方式是在您的構建服務器上安裝需要的東西副本,並且您有權運行它們,只要向源代碼貢獻了這些內容的人員擁有相關團隊版本的許可證(例如,如果您正在運行網絡測試,那麼你需要有一個測試SKU許可證)。

我對Watin知之甚少,但是從您的錯誤中可以看出您正在使用作爲測試SKU一部分的WebLoadTest功能,因此您需要獲得許可證。

您可以在構建服務器上安裝開發版和測試版,如果您擁有適當的許可證,它將構建Dev + Test組合。或者,如果您擁有該套件的許可證,則可以安裝該套件。

如果您的組織中沒有套件許可證,那麼我將不會安裝Team Suite的試用版,因爲這意味着您可能會修復此問題並啓動並運行,只能在90-天時間(當您的試用期到期時),您需要完整套件的許可副本才能繼續運行您在過去90天內所寫的所有測試...

1

WatiN對'Microsoft'沒有任何依賴關係。 VisualStudio.QualityTools.Tips.WebLoadTest.Tip at ..

所有你需要做的就是創建一個測試項目,然後向它添加一個單元測試,參考watin.core.dll,mshtml.dll和SHDocVw.dll我認爲在某些時候你已經添加了VS解決方案的Web測試,現在它對這些程序集提供了參考。

嘗試一個新的空測試解決方案,看看如何。