Microsoft.VisualStudio.TestTools.UITesting,Version = 14.0.0.0

时间:2016-03-15 15:21:07

标签: c# testing visual-studio-2015 automated-tests coded-ui-tests

我们最近从Visual Studio 2013切换到2015,与Microsoft Test Manager一样 我创建CodedUI测试的方式与我在VS2013中创建它的方式相同。将其与测试用例相关联,然后尝试将其作为Microsoft Test Manager的自动测试运行。不幸的是我一直收到这个错误:

  

将测试用例[16730]添加到测试运行时出错:无法加载测试容器'\ NAS \ UTV \ TFS2012 \ NOO \ Automated Tests \ Automated Tests \ Automated Tests_20160310.5 \ testcodedui.dll'或其依赖项之一。错误详细信息:System.IO.FileNotFoundException:无法加载文件或程序集“Microsoft.VisualStudio.TestTools.UITesting,Version = 14.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a”或其依赖项之一。系统找不到指定的文件。

这可能是由于VS2015中自动化测试的变化(没有测试控制器等)。

是否可以在VS和MTM 2015中使用Test Controller和Test Agent 2013?有人知道解决方案吗?

1 个答案:

答案 0 :(得分:3)

通常,2013 Test Agent附带Coded UI 2013(V12)的库,当您创建测试时,Visual Studio会自动添加这些引用。

在您的情况下,您拥有2015年VSTS,2015年(V14)的编码用户界面的ergo参考将在您的测试中。但是,当您运行测试时,您的2013代理商将无法找到您在测试中的参考。要解决此问题,您需要删除默认添加的所有编码的UI参考,并添加您自己的。

  1. 记下测试中的所有Refrenced dll并记下它们的位置。
  2. 在您的解决方案下创建一个lib文件夹,并将所有refrenced dll复制到该文件夹​​并将其添加到解决方案中(注意不要参考只添加它们)
  3. Coded用户界面中有几个隐式引用(引用参考)您可以从this link

  4. 中识别它们
  5. 也将它们添加到您的lib文件夹中。

  6. 选择您的.csproj文件==>右键单击==>卸载项目
  7. 右键再次点击==>编辑.csproj文件
  8. 查看是否有任何导入语句导入Testtools.target模板并对其进行注释。参考将是这样的 “Import Project =”$(VSToolsPath)\ TeamTest \ Microsoft.TestTools.targets“Condition =”Exists('$(VSToolsPath)\ TeamTest \ Microsoft.TestTools.targets')“”
  9. 关闭项目并重新加载。
  10. 添加对您在项目的lib文件夹下添加的所有dll的引用。
  11. 编译并确保您没有发现任何构建错误。
  12. 在此之后,关联您的测试,希望它应该运行。如果你仍然得到任何丢失的文件错误,那么你缺少一个隐式引用。只需在2015 VSTS的programfiles目录中搜索,并通过lib文件夹添加到您的项目参考。它应该工作!!