我正在使用Java进行硒自动化 我有一个场景,只有当我为当前场景手动关闭Chrome浏览器时,我才需要转到黄瓜功能文件中的下一个场景。
请帮我实现这个
答案 0 :(得分:4)
您也可以这样做
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 强>
{{1}}
答案 1 :(得分:2)
您可以尝试循环,直到浏览器死亡或无法访问异常..
session_start();
require_once("./include/membersite_config.php");
if(isset($_POST['submitted']))
{
if($fgmembersite->Login())
{
$redirect_url = (isset($_SESSION['redirect_url'])) ? $_SESSION['redirect_url'] : '/';
unset($_SESSION['redirect_url']);
header("Location: $redirect_url", true, 303);
exit;
}
}
答案 2 :(得分:0)
如果在运行selenium测试时手动关闭浏览器,您将获得: org.openqa.selenium.NoSuchWindowException:找不到窗口。浏览器窗口可能已关闭。
您可以尝试捕获此异常,然后从那里开始。