在进行selenium测试时,可能会出现用例失败,造成浏览器没有关闭的情况。造成后面的用例无法正确的执行。
在这种情况下,可以采用强制杀掉进程的方式来关闭浏览器。当然,如果调用了其他程序,也可以采用该方法关闭。
tasklist
列出所有的进程和相应的信息;
tskill
杀进程,语法很简单:tskill 进程名,或者 tskill PID ;
taskkill
用法复杂但是更强大,简单的杀PID不如用tskill,比如它得写成 taskkill -im 进程名.扩展名 ,或者 taskkill -pid PID
在windows下面提供了tskill命令:
Runtime runTime = Runtime.getRuntime();
//如果使用了ie浏览器和driver
runTime.exec("tskill iexplore");
runTime.exec("tskill IEDriverServer");
//chrome浏览器和driver
runTime.exec("tskill chrome");
runTime.exec("tskill chromedriver");
或者:
runTime.exec("TASKKILL /F /IM iexplore.exe");
runTime.exec("TASKKILL /F /IM IEDriverServer.exe");
kill – send a signal to a process
kill就是给某个进程id发送了一个信号。默认发送的信号是SIGTERM,而kill -9发送的信号是SIGKILL,即exit。exit信号不会被系统阻塞,所以kill -9能顺利杀掉进程。
killall – kill processes by name
即,通过指定进程名的方式杀死进程。
Runtime runTime = Runtime.getRuntime();
runTime.exec("killall -9 chrome");
runTime.exec("killall -9 chromedriver");