【问题标题】:Selenium - Script should wait till browser is closed manuallySelenium - 脚本应该等到浏览器手动关闭
【发布时间】:2016-10-31 19:19:19
【问题描述】:

我正在使用 Java 进行 selenium 自动化 我有一个场景,只有当我为当前场景手动关闭 chrome 浏览器时,我才需要移动到黄瓜功能文件中的下一个场景。

请帮我实现这个

【问题讨论】:

  • 您尝试了哪些方法,结果如何?请提供一些代码和您遇到的错误,以便我们提供帮助。

标签: java selenium selenium-webdriver junit cucumber


【解决方案1】:

你也可以这样做

    WebDriver driver = new ChromeDriver();

    waitForDriverToClose(driver);

waitForDriverToClose

private static void waitForDriverToClose(WebDriver driver) {
        try {
            WebDriverWait wait = new WebDriverWait(driver, 20);
            wait.until(ExpectedConditions.not(new ExpectedCondition<Boolean>() {
                @Override
                public Boolean apply(WebDriver driver) {
                    try {
                        driver.getTitle();
                        return true;
                    } catch (Exception ex) {
                        System.out.println("Couldn't Connect Driver / Driver Closed");
                        return false;
                    }
                }
            }));
        } catch (org.openqa.selenium.TimeoutException ex) {
            System.out.println("Timeout Trying Again");
            waitForDriverToClose(driver);
        }
    }

【讨论】:

  • 非常感谢,waitForDriverToClose(driver) 方法帮助了我
  • 那你可以accept it as an answer 帮助别人
【解决方案2】:

您可以尝试循环,直到浏览器死机或无法访问异常..

 WebDriver driver = new FirefoxDriver();

    driver.get("http://www.google.com");

    Boolean check = false;

    while (!check) {

        try {
            driver.getTitle();
            Thread.sleep(200);
        } catch (Exception e) {
            //you can verify correct exception here ie not reachable, dead etc..
            check = true;
        }

    }

    System.out.println("after browser close");
    //continue your code here

【讨论】:

    【解决方案3】:

    如果您在运行 selenium 测试时手动关闭浏览器,您将获得: org.openqa.selenium.NoSuchWindowException:找不到窗口。浏览器窗口可能已关闭。

    您可以尝试捕获此异常,然后从那里开始。

    【讨论】:

    • @madhan 非常感谢,waitForDriverToClose(driver) 方法帮助了我
    猜你喜欢
    • 1970-01-01
    • 2022-01-16
    • 2020-08-28
    • 2015-08-14
    • 2017-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多