specflow - Killing all iexplore processes after test run fails -
when run our codedui tests , test cases fail kill internet explorer process calling kill()
below:
private static readonly hashset<string> processestokill = new hashset<string>(new[] { "iexplore" }); public static void kill() { var runningprocessestokill = (from p in process.getprocesses() processestokill.contains(p.processname, stringcomparer.ordinalignorecase) select p).toarray(); // first try close process in friendly way closeprocess(runningprocessestokill); // wait while give processes time terminate waitforprocess(runningprocessestokill); // if not closed kill process. killprocess(runningprocessestokill); }
killing done calling closemainwindow()
, close()
on processes first, waiting while , calling kill()
on processes.
unfortunately, not close javascript alert popup. when test run finished remains in screen blocking next test, so:
why not close alert, , how can fix this?
you can brute force using taskkill
command command line:
c:\>taskkill /f /im iexplore.exe
this, of course, doesn't tests. instead, use process.start(...)
:
public static void kill() { system.diagnostics.process.start("taskkill", "/f /im iexplore.exe"); }
this shut down internet explorer processes, regardless of whether or not have alert or confirm dialog visible.
references:
Comments
Post a Comment