【发布时间】:2015-03-26 14:44:16
【问题描述】:
我们在运行交互式编码 UI 测试时遇到了问题,当我们的第二个测试开始时,QTAgent32.exe 停止工作。我们的设置是通过 TFS 进行的,我们在其中排队一个新的构建,告诉控制器在虚拟机上运行我们的测试。这些测试直接发送到 .testsettings 文件指定的 VM。在 VM 上分发测试后,测试开始在被测 WPF 应用程序上运行。由于需要测试的内容的复杂性,测试可能主要需要一个小时才能运行。在测试完成并且代理显示“1/10 Completed”后,我们会收到一条 Windows 消息,指出 QTAgent32.exe 已停止工作。
- 问题事件名称:BEX
- 应用程序名称:QTAgent32_40.exe
- 应用程序版本:12.0.21005.1
- 故障模块名称:StackHash_83e2
- 故障模型版本:0.0.0.0
如果我们关闭 Windows 消息,则会弹出另一个带有不同详细信息的消息。
- 问题事件名称:APPCRASH
- 应用程序名称:QTAgent32_40.exe
- 应用程序版本:12.0.21005.1
- 故障模块名称:msxml6.dll
- 故障模型版本:6.30.7601.18431
如果我们关闭第二条消息,则测试将被声明为已完成,但测试结果为失败。我们还看到,代理将继续运行下一个测试,直到第四次测试失败!
我们已经查看了控制器和代理上的事件查看器。控制器什么也没显示。代理显示失败的详细信息与上述错误相同。我们已经修复了代理并查看了 .Net。我们知道我们可以按任何顺序运行这些测试,并且在本地运行时它们都通过了,没有这个问题。上述错误仅在我们的虚拟机/代理上运行时出现。
有人对如何在测试运行期间获取更多详细信息有任何想法吗?有没有其他人遇到过这样的问题?
提前感谢大家的关注和帮助!
【问题讨论】:
-
看起来像BEX indicates a buffer overflow exception。尝试检查 VM 上的 DEP 设置与开发框(控制面板 > 系统属性 > 高级 > 性能设置 > 数据执行保护。
-
操作系统的变化或以管理员身份运行与不在这些不同环境中运行可能会有所不同。如果您正在运行基于网络浏览器的测试,请检查您的 Internet Explorer 安全设置(甚至 Chrome 也会使用其中的一些设置)。
-
感谢 NextInLine!将更多地研究 BEX 设置。操作系统是相同的,我们以管理权限运行所有内容并关闭 UAC。此外,没有基于 Web 的测试,所有 WPF/C#。
-
要获得更多关于测试运行的详细信息,如果您还没有尝试过Enabling Coded UI Test Logs,请尝试。
-
代理可执行程序和子程序似乎需要 DEP。当尝试将其添加到排除列表时,它请求会抛出一个错误,说明它是必需的。打开日志,没有收到任何错误或警告。
标签: visual-studio-2013 coded-ui-tests vstest