[唐胡璐]Selenium技巧 - 处理Windows程序(进程)
Selenium WebDriver java 提供了一个专门的WindowsUtils类去和Windows操作系统交互。
就像我们之前说过有时候跑完脚本后,IEDriverServer.exe进程没杀掉,以及处理的方法。但是有一些未知的情况下,还是会有这样的情况。
对测试环境的设置我们可以做一个更好的处理。在Test运行之前和之后,都去关掉相应的进程,这样的话,就算是跑完脚本后,一些相关进程没关闭,再下次运行的时候,也会重新设置运行环境。
以下的方法:
WindowsUtils.tryToKillByName("IEDriverServer.exe");
WindowsUtils.tryToKillByName("iexplore.exe");
WindowsUtils会去查询指定的进程名称,并kill掉所有运行的相关进程。这儿有一个小问题,如果当前指定进程不存在,就会抛出一个异常,但是也不会影响脚本的运行,Test会继续运行下一个步骤,只是查看的时候会有异常错误信息,感觉有点怪怪的。
解决方法:
我们可以在运行这个方法之前,先去判断进程是否存在,如果存在再执行,反之,就不执行。下面是个小例子:
这样的话,应该就不会再有上边说的那个异常了。
上边我们加了BeforeMethod和AfterMethod注释,这样我觉得一个好处就是在用例层,我们就不用再每次再专门弄一个setup去做一些设置,只有Test就好了。只是个人的一些拙见,也是在学习中,有任何不对的地方,还请多多指正:)