将 CodedUI 测试升级到 VS 2015

Upgrade CodedUI tests to VS 2015

我已经从 VS 2013 更新到 VS 2015,从 TFS 2013 更新到 TFS 2015,从 .NET 4.5.2 更新到 .NET 4.6.1。

现在我遇到了问题,我的编码 UI 测试不是 运行。问题是 Microsoft 不支持 TFS 2015 的测试代理和测试控制器。他们建议在使用 TFS 2015 运行 编码 UI 测试时使用 VS 2013 Update 5 代理(参见 here or here ).

每次测试我得到的错误是:

Unit Test Adapter threw exception: Could not load file or assembly 'Microsoft.VisualStudio.QualityTools.CodedUITestFramework, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified..

测试代理上可用的版本是12.0.0.0(由Agents for VS 2013 Update 5提供)。

我有一个构建控制器 运行 VS 2015,它在编译期间具有所需的程序集。在我的测试代理上,这些程序集不可用,因为我无法安装 VS 2015 代理。原因是不支持并排安装 VS 2013 代理和 VS 2015 代理 [我自己试过 - 它不起作用].

Here建议延长App.config。这种方法对我不起作用(无论是使用 asm.v1 还是使用 asm.v2)。

在我的 *.csproj 文件中,所有引用均以特定版本 = false 列出。

我也尝试过复制程序集(copy local = true)并将它们添加为部署项,但这是一个永无止境的程序集列表....

有什么办法可以解决这个问题吗?

谢谢

我们最近执行了类似的升级(从 TFS 2010 开始),我们记录了为使其正常工作而必须进行的更改。无论建议如何,我们都使用 TFS 2015 代理 运行 我们的 CodedUI 测试并且它工作正常。您的错误表明您没有在构建代理上安装 VS2015。我建议使用新的 TFS 2015 代理,或者您可以在 2013 代理上安装 VS2015。

http://dotnetcatch.com/2015/10/01/tfs-2010-to-2015-upgrade-codedui-feature-test-builds/

其他要尝试的事情:

  • 更改您的构建过程模板以使用更高版本(我们使用 TfvcTemplate12.xaml)
  • 使用程序集绑定将旧的 CodedUI 程序集重定向到新版本
...
<dependentAssembly>
        <assemblyIdentity name="Microsoft.VisualStudio.QualityTools.WindowsStore.CodedUITestFramework">> publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
        <bindingRedirect oldVersion="10.0.0.0-14.0.0.0" newVersion="14.0.0.0" />
      </dependentAssembly>
...
  • 在交互模式下将您的代理更改为 运行