我正在尝试将我的WATIN测试作为夜间构建的一部分在TFS2008 (持续集成)中工作。
所有测试在我的本地机器(来自VS2008)上都能很好地工作,而我的单元测试(非watin)在本地和在TFS中都工作得很好。
为了说明我们在做什么,我做了一个简单的测试:
[TestMethod]
public void Watin()
{
//set up stuff
browser.GoTo("http://localhost/");
}
在TFS中运行测试时,这会导致以下错误:
无法加载TestTypes\37e36796-fb51-4610-8d5c-e00ceaa68b9f,因为无法实例化提示,原因如下: System.IO.FileNotFoundException:无法加载文件或程序集'Microsoft.VisualStudio.QualityTools.Tips.WebLoadTest.Tip,Version=9.0.0.0、Culture=neutral、PublicKeyToken=b03f5f7f11d50a3a'或其依赖项之一。系统找不到指定的文件。文件名:'Microsoft.VisualStudio.QualityTools.Tips.WebLoadTest.Tip,Version=9.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a‘at System.RuntimeTypeHandle._GetTypeByName(String name,Boolean,Boolean,Boolean,StackCrawlMark& stackMark,布尔loadTypeFromPartialName)
当我在网上搜索类似的问题时,我被引导相信这是我们正在使用的TFS版本的一个问题--但我不确定。我们正在使用TFS 2008 Developer Edition / VS2008 Developer Edition
我们尝试下载TFS套件试用版,其中包含有问题的DLL。我们已经将WebLoadTest.Tip文件复制到TFS服务器的全局程序集缓存中(看看这是否会解决问题)。这确实导致了错误的消失,但不幸的是,它产生了一个新的错误:
MSBUILD :警告MSB6006:"MSTest.exe“与代码1一起退出。
唯一解决这个问题的方法是升级到套件版吗?这似乎有点严格。
任何帮助都是非常感谢的!
编辑:我不明白的是,它似乎需要TFS的WebLoadTest功能,尽管我们没有显式地调用它。相反,我们使用的是Watin,这是一个第三方框架。我也不认为Watin有任何最愚蠢的依赖关系。
发布于 2009-01-28 10:17:47
要在构建服务器上找到正确的程序集和其他一切,以完成团队系统的自动化构建是众所周知的困难。支持的方法是在构建服务器上安装您需要的东西的副本,并且您获得了运行它们的许可,前提是向源代码提供这些内容的人员拥有相关团队版本的许可证(例如,如果您正在运行web测试,那么您需要一个tests许可证)。
我对Watin不太了解,但从您的错误来看,您似乎在使用WebLoadTest功能,这是Test的一部分,因此您需要获得许可证。
您可以在构建服务器上安装Developer和combination,如果您拥有适当的许可证,它将生成一个Dev+Test组合。或者,如果您有该套件的许可证,您可以安装它。
如果在您的组织中没有套件许可证,我会犹豫是否安装Team的试用版,因为这意味着您可能会解决问题,并且您将启动并运行,但是在90天内(当您的试用到期时),您需要一份完整套件的授权副本来继续运行您在过去90天中编写的所有测试。
发布于 2009-05-07 05:16:48
'Microsoft.VisualStudio.QualityTools.Tips.WebLoadTest.Tip完全不依赖于WatiN。
您所需要做的就是创建一个测试项目,然后向它添加一个单元测试,对watin.core.dll、mshtml.dll和SHDocVw.dll的引用--我认为,在某个时候,您已经向解决方案添加了VS web测试,并且它现在有了对这些程序集的引用。
尝试使用一个新的空测试解决方案,看看结果如何。
https://stackoverflow.com/questions/487011
复制相似问题