2

CodedUI テストを実行し、テスト ケースが失敗した場合は、Kill()以下を呼び出して Internet Explorer プロセスを強制終了します。

private static readonly HashSet<string> ProcessesToKill = 
    new HashSet<string>(new[] { "iexplore" });

public static void Kill()
{
    var runningProcessesToKill = (from p in Process.GetProcesses()
        where ProcessesToKill.Contains(p.ProcessName, 
            StringComparer.OrdinalIgnoreCase)
        select p).ToArray();

    // First try to close the process in a friendly way
    CloseProcess(runningProcessesToKill);

    // Then wait for a while to give the processes time to terminate
    WaitForProcess(runningProcessesToKill);

    // If not closed kill the process.
    KillProcess(runningProcessesToKill);
}

CloseMainWindow()強制終了は、最初にプロセスを呼び出し、Close()次にしばらく待ってからプロセスを呼び出すことによって行われKill()ます。

残念ながら、これは JavaScript アラート ポップアップを閉じません。テストの実行が終了すると、次のように次のテストをブロックする画面に残ります。

ポップアップが画面に残る

アラートが閉じられないのはなぜですか?どうすれば修正できますか?

4

1 に答える 1