java + selenium測試框架 之進程強制關閉
在進行selenium測試時,可能會出現用例失敗,造成瀏覽器沒有關閉的情況。造成後面的用例無法正確的執行。
在這種情況下,可以採用強制殺掉進程的方式來關閉瀏覽器。當然,如果調用了其他程序,也可以採用該方法關閉。
殺掉進程 tskill,taskkill
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");
linux下面 killall
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");