51Testing软件测试论坛

标题: 请教webdriver @test前关闭所有浏览器的方法 [打印本页]

作者: lu372    时间: 2015-12-1 19:59
标题: 请教webdriver @test前关闭所有浏览器的方法
如使用webdriver启动firefox前,要关闭所有的firefox。写在@Before里面,请问怎么写?


@Before
  public void setUp() throws Exception {
        System.setProperty("webdriver.firefox.bin", "D:/Program Files/Mozilla firefox/firefox.exe");
        driver = new FirefoxDriver();
         baseUrl = "https://www.baidu.com/";

         ……
@Test
……


作者: joykao    时间: 2015-12-2 10:08
你要关闭所有已经开的Firefox的话要用关闭进程的方法,这个不用selenium去做,如果你的每个浏览器都是selenium打开的你可以用driver.close()方法在每个测试运行完就关掉,这样就不会积累很多的firefox进程了。。。。
public static boolean isProcessRunging(String serviceName) throws Exception {

    Process p = Runtime.getRuntime().exec(TASKLIST);
    BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream()));
    String line;
    while ((line = reader.readLine()) != null) {
      if (line.toUpperCase().contains(serviceName.toUpperCase())) {
        return true;
      }
    }

    return false;

  }

  public static void killProcess(String serviceName) {
    try {
      while (isProcessRunging(serviceName)) {
        Runtime.getRuntime().exec(KILL + serviceName.toUpperCase());
      }
    } catch (Exception e) {
      e.printStackTrace();
    }

  }




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2