MVC5中的CodedUITest在生成代码期间挂起

时间:2014-12-16 23:08:13

标签: c# asp.net-mvc testing

我正在学习如何进行编码的UI测试,并且使用Visual Studio 2013 Ultimate时我在使用this教程时没有遇到任何问题。不幸的是,该教程是一个WPF项目,我需要测试一个现有的MVC5.2 Web应用程序。

出于学习目的,我创建了一个新的MVC5 Web应用程序,在我的解决方案中添加了一个Coded UI测试项目,并设置了一个简单的登录功能测试。我可以启动Coded UI Test Builder,Test Builder会显示单击Show Recorded Steps时的步骤。到目前为止一切都很好。

当我单击Generate Code时,Test Builder会挂起Generating Code ...进度条无限重复。我可以通过关闭测试生成器来摆脱循环,但是在回答“是否要关闭编码的UI测试生成器并丢弃记录的操作?”后,我什么也得不到。回答否继续无限循环。

任何人都可以给我一个提示,从这个过程中找到日志或输出来调试吗?我很难过,Google U今天对我帮助不大。在此先感谢您的帮助!

4 个答案:

答案 0 :(得分:4)

我知道回答这个问题已经很晚了,但我发现了一些对我有用的东西。在调试程序时,Visual Studio不允许您更改代码。生成代码尝试在调试程序时更改代码,从而挂起它。所以我尝试停止调试器,然后按Generate Code。它有效!

答案 1 :(得分:0)

我的问题是我使用了错误的命名空间引用CodedUITest。 This reference说[CodedUITest]来自Microsoft.VisualStudio.TestTools.UITesting.CodedUITestAttribute,我将其作为参考添加到我的开发环境中。这解决了错误,看起来好像有效,所以我认为一切都很好,直到Generate Code挂起。

我设置了我的测试环境,即使[CodedUITest]注释为红色(“无法解析符号CodedUITest”),我的代码也已编译并运行。我不确定为什么VS会允许这样做,但确实如此。一旦我找到了这个问题,这只是研究注释所处的位置的问题。显然,添加上述参考不起作用,所以我一直在挖掘。

我找到了答案here;这为Coded UI测试提供了所有正确的参考。 实际的命名空间是Microsoft.VisualStudio.QualityTools.CodedUITestFramework。我删除了CodedUITestAttribute引用并添加了CodedUITestFramework引用,并且Generate Code按预期工作。

答案 2 :(得分:0)

如果从Visual Studio运行CodedUI Test Builder,然后从同一个Visual Studio实例启动应用程序,它在尝试生成代码时也会挂起。对我来说,我刚刚启动了独立于Visual Studio的应用程序,然后CodedUI Test Builder开始按预期工作。

答案 3 :(得分:0)

我有同样的问题,在更新Visual Studio Update 5后,解决了这个问题。