【问题标题】:How to close all the browser instances before a test execution in selenium web driver?如何在 selenium Web 驱动程序中执行测试之前关闭所有浏览器实例?
【发布时间】:2016-09-30 12:01:37
【问题描述】:

在我们开始在 selenium Web 驱动程序中进行新测试之前,是否有一种方法可以关闭所有以前启动的浏览器窗口。

我正在尝试通过以下代码关闭已经启动的 chrome 浏览器窗口,但这无助于关闭以前的浏览器窗口,而是关闭了在测试中创建的当前 chrome 驱动程序实例。

System.setProperty("webdriver.chrome.driver", "<Path of chromedriver.exe>");
WebDriver chromeDriver = new ChromeDriver();
for(String eachWindowHandle:chromeDriver.getWindowHandles()){
            chromeDriver.switchTo().window(eachWindowHandle).close();
        }

【问题讨论】:

    标签: selenium-webdriver


    【解决方案1】:

    我们是这样使用的

    String processName = "chromedriver.exe";
    if (isProcessRunning(processName))
    {
        Prerequisites.killProcess(processName);
    }
    

    使用的功能实现如下=>

    isProcessRunning

    public static boolean isProcessRunning(String serviceName) 
    {
        Process p;
        try {
            p = Runtime.getRuntime().exec(TASKLIST);
            BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream()));
            String line;
            while ((line = reader.readLine()) != null) 
            {
                if (line.contains(serviceName)) 
                {
                    return true;
                }
            }
        }
        catch (Exception e) 
        {
    
            e.printStackTrace();
        }
        return false;
    }
    

    killProcess

    public static void killProcess(String serviceName) 
    {
        try
        {
            Runtime.getRuntime().exec(KILL + serviceName + " /T");
        } 
        catch (Exception e) 
        {
    
            e.printStackTrace();
        }
    }
    

    【讨论】:

      【解决方案2】:

      使用以下代码关闭所有浏览器,然后再打开新浏览器以运行所需的测试

      Runtime.getRuntime().exec("taskkill /F /IM <browserinstance>.exe");
      

      例如:

      Runtime.getRuntime().exec("taskkill /F /IM firefox.exe");
      
      Runtime.getRuntime().exec("taskkill /F /IM chrome.exe");
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-02-19
        • 1970-01-01
        • 1970-01-01
        • 2018-10-14
        • 1970-01-01
        • 2020-04-25
        • 1970-01-01
        • 2021-04-08
        相关资源
        最近更新 更多