如何在Win7中跳过或禁用显示崩溃消息框

时间:2018-05-24 09:58:23

标签: .net unit-testing windows-7 coded-ui-tests

我正在虚拟机上开发和运行Coded UI自动化测试。 执行UI自动化的过程是QTAgent32_40.exe 偶尔(很少) - QTAgent因为未知(目前)的原因而崩溃。 问题是测试一直停留,直到我关闭错误消息,并且任何进一步的测试都不会运行。 我收到此消息 - 试图查看堆栈跟踪 - 没有用: Windows reporting error

我google了一下,并试图禁用Windows错误报告服务,现在消息不同: Generic error message

我想以某种方式禁用或关闭消息 - 以便代理可以重新启动并继续。 我已经阅读了有关QTAgent的所有问题 - 但无法找到我的问题的解决方案。

1 个答案:

答案 0 :(得分:1)

我假设您无法控制QTAgent32.exe,只需使用

启动它
System.Diagnostics.Process.Start("QTAgent32.exe"); 

(或类似的东西)并等待它完成。

在这种情况下,你可以使用超时,如果它不想和平退出就杀掉它:

var process = Process.Start("QTAgent32.exe");
Thread.Sleep(60000); // Wait for one minute
if (!process.HasExited)
{
    process.Kill();
}

编辑:您当然可以使用轮询,这意味着循环包含更短的等待时间并检查进程是否已退出,而不是总是等待一分钟。