您的位置:首页 > 产品设计 > UI/UE

driver.close()和driver.quit()关闭浏览器

2017-03-29 14:48 369 查看
在关闭driver时用Driver.Quit();不要用Driver.Close();

webDriver.Close();  //Close the browser window that the driver has focus of
webDriver.Quit();  //Calls Dispose(), Quit this dirver, closing every associated windows;
webDriver.Dispose(); // Closes all browser windows and safely ends the session


下面来看看项目中用到的driverKiller()方法



这个是调用系统命令来停掉driver来达到一个关闭浏览器目的。

杀掉进程: tskill, taskkill

tskill:语法– tskill 进程名,或者tskill PID

taskkill:用法复杂更强大, 语法—taskkill -im 进程名.扩展名 或者 taskkill -pid PID

列出所有进程和相应的信息: tasklist



缺陷:在多脚本并发执行的时候,如果每次执行脚本之前或执行脚本之后用tskill IEDriverServer来关闭IE浏览器,可能会关闭正在并发执行的其他不需要关闭的IEDriverServer.exe进程。

理想中的关闭方法是先获取脚本执行产生的IEDriverServer.exe的进程PID,然后关闭该PID的进程。

问题是Java中执行本地程序时,相关资源分配转为操作系统管理,无法在java获取其为一的PID等信息。

java中如何获取Runtime.getRuntime().exec()或ProcessBuilder.start()产生的进程信息? 比如映像名称、PID、内存使用等

方法是:在用Runtime.getRuntime().exec()启动本地本地程序之前和之后分别使用“tasklist”获取系统中的进程列表,计算两者差集,来获得本次调用产生的进程信息。

参考: http://blog.csdn.net/motrsky/article/details/52066371
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  driver close quit