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

本文关键字:代码 挂起 中的 CodedUITest MVC5 | 更新日期: 2023-09-27 18:34:28

我正在学习如何进行编码的UI测试,并且使用Visual Studio 2013 Ultimate没有问题地完成了本教程。遗憾的是,该教程是一个 WPF 项目,我需要测试现有的 MVC5.2 Web 应用程序。

出于学习目的,我创建了一个新的 MVC5 Web 应用程序,向我的解决方案中添加了一个编码的 UI 测试项目,并设置了登录函数的简单测试。我能够启动编码的 UI 测试生成器,并且当我单击"显示录制的步骤"时,测试生成器会显示这些步骤。到目前为止一切都很好。

当我单击"生成代码"时,测试生成器挂起"生成代码...进度条无限重复。我可以通过关闭测试生成器来打破循环,但在回答"是否要关闭编码的 UI 测试生成器并放弃录制的操作?"后,我一无所获。回答"否"继续无限循环。

谁能给我一个提示,在哪里可以找到此过程的日志或输出来调试它?我很困惑,Google U今天对我帮助不大。提前感谢您的帮助!

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

我知道

现在回答这个问题已经很晚了,但我找到了对我有用的东西。当你调试你的程序时,Visual Studio不允许你更改代码。生成代码会在调试程序时尝试更改代码,从而挂起程序。所以我尝试停止调试器,然后按生成代码。它奏效了!

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

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

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

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

我遇到了同样的问题,更新Visual Studio Update 5后,修复了这个问题。