使用升级的VS2012解决方案进行测试,但在VS2010中生成



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

我这样做的原因是,由于部分支持IE9,我在使用VS2010编码的UI工具时遇到了问题。

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

所以,这是我的问题。我想通过从我们的构建机器启动这些测试来实现这些测试的自动化,但我们的构建计算机仍然在VS2010上运行,目前这不会改变。

因此,我在TFS中签入了我的新VS2012编码UI测试解决方案,并对新的构建进行了排队,因此构建机器构建了我的解决方案。建造是成功的。那里一切都很好。

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

但测试失败了——同样的问题影响了我对VS2010编码UI测试的测试(由于缺乏对IE9的全面支持)

他们为什么失败了?

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

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

有办法绕过这个吗?

您的编码ui测试VS安装或代理安装附带的引用程序集(WpfControl、Mouse、Keyboard、Playback和其他类中定义的程序集)。

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

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

相关内容