问题
I'm using selenium webdriver(for Internet Explorer). What it does it basically opens a webpage in internet explorer and does form submitting.
How can I kill internetexplorer.exe running in background Automatically ?
回答1:
You can add the following code at the end of your test script to close the IE Driver. So there is no need of closing it manually.
try {
Runtime.getRuntime().exec("taskkill /F /IM IEDriverServer.exe");
} catch (IOException e) {
e.printStackTrace();
}
Else open notepad and paste the following code.
taskkill /F /IM IEDriverServer.exe
Save the file as closedriver.bat
Click on this batch file when u want to close the IE Driver.
回答2:
Close browser:
try{
WebDriver driver = new InternetExplorerDriver();
.. write all the webdriver code here like driver.get, driver.findElement().click() etc. etc.
}
catch(Throwable webDriverException){
if(webDriverException.getMessage().contains("org.openqa.selenium.WebDriverException: Error communicating with the remote browser. It may have died"){
// Kill IEDriverServer.exe process
// Using WebDriver WindowUtils utility
WindowsUtils.killByName("IEDriverServer.exe");
// Or using JavaRunTime
Runtime.getRuntime().exec("taskkill /F /IM IEDriverServer.exe")
}
}
See if this helps!!!
回答3:
If you are using MS test, on [TestCleanup] or [ClassCleanup] add the following:
foreach(var process in Process.GetProcess("IEDriverServer"))
{
process.Kill();
}
来源:https://stackoverflow.com/questions/22652692/how-to-kill-iedriver-exe-process-running-in-background-selenium-webdriver