使用编码用户界面测试,为什么在生成代码阶段出现“取值超出预期范围”错误

(英文版本)

这篇blog是关于Visual Studio 2010 团队套件增加的一个新的,很酷的功能:编码的用户界面测试。关于这种新测试方式,这个视频资料给出了一个很好的介绍和演示。

最近我的一个客户初次体验这种新测试方式的时候遇到了问题。看起来他完全在按照上面视频演示的方法在操作,但是在点击“添加并生成代码”按钮之后,不但没有生成预料中的测试代码,反而出现了 “取值超出预期范围”(value does not fall within the expected range) 错误。 反复测试结果都是如此。

客户使用的是在windows 7操作系统上新安装的Visual Studio 2010 正式发布版本,被测试的工程和测试工程本身都是新生成的,因此不存在这篇文章中提到的由于代码升级造成的问题。那么为什么会失败呢?

观察用户操作过程之后我发现原因在于当“录制”测试时,被测试的应用程序是在Visual Studio debug模式下启动的。 进程以debug模式启动与非debug模式启动由很大不同,这里我不会说明其细节。重点是 界面测试生成器无法操作debug模式启动的进程。录制编码的界面测试时,目标应用程序必须以非debug模式运行。你可以在Visual Studio中通过Ctrl+F5的方式启动程序,也可以直接在windows资源管理器中双击应用程序文件来启动目标进程。