我们最近从Visual Studio 2013切换到2015,Microsoft测试管理器也是如此。
我创建CodedUI测试的方式与在VS2013中创建它的方式相同。将其与测试用例关联,然后尝试从测试管理器将其作为自动测试运行Microsoft。不幸的是,我不断收到此错误:
将测试用例 [16730] 添加到测试运行时出错:无法加载测试容器"\NAS\UTV\TFS2012\NOO\自动测试\自动测试\自动化Tests_20160310.5\testcodedui.dll"或其依赖项之一。错误详细信息:System.IO.FileNotFoundException:无法加载文件或程序集"Microsoft.VisualStudio.TestTools.UITesting,版本=14.0.0.0,区域性=中性,公钥令牌=b03f5f7f11d50a3a"或其依赖项之一。系统找不到指定的文件。
这可能是由于VS2015中自动化测试的变化(没有测试控制器等)。
是否可以将测试控制器和测试代理 2013 与 VS 和 MTM 2015 一起使用?有人知道这个解决方案吗?
通常,2013 测试代理附带编码的 UI 2013 (V12) 的库,当你创建测试时,这些引用由 Visual Studio 自动添加。
在你的例子中,你有 2015 VSTS,2015 年编码的 UI (V14) 的尔格引用将在你的测试中。但是,当您运行测试时,您的 2013 代理将无法找到您在测试中的引用。要解决此问题,您需要删除默认情况下添加的所有编码的 UI 引用并添加您自己的引用。
- 记下
- 测试中的所有引用 dll,并记下它们所在的位置。
- 在解决方案下创建一个 lib 文件夹,并将所有引用的 dll 复制到该文件夹并将它们添加到解决方案中(请注意,不是引用只是添加它们)
编码的 UI 中有几个隐式引用(引用的引用)您可以从此链接中识别它们
将它们也添加到您的 lib 文件夹中。
- 选择您的 .csproj 文件 ==> 右键单击 ==> 卸载项目
- 再次右键单击==>编辑.csproj文件
- 看看你是否有任何导入测试工具.target模板的导入语句并对其进行注释。参考将是这样的"Import project ="$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets" condition="Exists('$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets')"
- 关闭项目并重新加载。
- 添加对项目lib文件夹下添加的所有dll的引用。
- 编译并确保找不到任何生成错误。
在此之后,关联您的测试,希望它应该运行。如果仍然收到任何丢失文件错误,则缺少隐式引用。只需在 2015 VSTS 的程序文件目录中搜索,并通过 lib 文件夹添加到您的项目引用中。它应该有效!