0

所以我下载了 VS2012 RTM 并将我的 Coded UI 测试项目升级到 VS2012 版本。

我这样做的原因是由于部分支持 IE9,我遇到了 VS2010 Coded UI 工具的问题。

因此,我在本地和远程(使用新的 Visual Studio 代理工具)上从我的开发人员机器上运行了测试,并且测试成功运行。据推测,我的测试现在起作用的原因是 VS2012 升级了它们,以便它们现在可以与 IE9 一起使用,对吧?

所以 - 这是我的问题。我想通过从我们的构建机器启动它们来自动化这些测试 - 但我们的构建机器仍然在 VS2010 上运行,并且暂时这不会改变。

因此,我将新的 VS2012 Coded UI 测试解决方案签入到 TFS 中,并将新构建排入队列 - 因此构建机器构建了我的解决方案。并且构建成功。那里一切都好。

因此,接下来我在 Microsoft 测试管理器中创建了一个新的测试用例,并与我的新解决方案中的有序测试列表相关联。然后我在我的远程测试环境(具有现有的 VS2010 测试代理工具)上启动了测试(使用现有的 VS2010 测试控制器)。

但是测试失败了——同样的问题影响了我使用 VS2010 Coded UI 测试的测试(由于缺乏对 IE9 的完全支持)

他们为什么失败了?

我的测试控制器和代理是否需要新的 VS 2012 代理工具?我必须在 VS2012 中构建我的解决方案吗?

理想情况下,我不想在我的构建机器上安装 VS2012 RTM - 我想尽可能少地让我的测试工作和自动化。

有没有解决的办法?

4

1 回答 1

1

您的编码 ui 测试引用了 VS 安装或代理安装附带的程序集(这些程序集定义了 WpfControl、鼠标、键盘、播放和其他类)。

因此,如果您在具有旧版本 dll 的构建/测试机器上运行它,同样的问题将继续存在,测试将不会使用 VS2012 附带的较新的固定程序集开始。

作为一种临时解决方法,您可以检查您引用的 dll 并确保构建过程将它们与您的测试程序集放在同一目录中。这样,他们的查找将在当前目录中找到,而无需使用 /path 并在 VS 安装目录中找到它们。

于 2012-08-28T00:21:46.840 回答