java + selenium测试框架 (之进程强制关闭)

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");

你可能感兴趣的:(java,浏览器,selenium,进程关闭)