次のコードがあります。
// setting timeout to a FULL MINUTE
WebDriverWait wait = new WebDriverWait(driver, 60);
Actions action = new Actions(driver);
// First, click the usermenu
WebElement userMenu = wait.until(ExpectedConditions.elementToBeClickable(By.id("UserMenu")));
userMenu.click();
WebElement adminPortal = driver.findElement(By.id("AdminPortals"));
action.moveToElement(adminPortal);
action.perform();
// Wait for secondary menu to become available
WebElement portal = wait.until(ExpectedConditions.elementToBeClickable(By.id(portalId)));
portal.click();
基本的に「UserMenu」はドロップダウンで、ホバーオーバー展開メニュー「AdminPortals」があります。上記のコードは、(Selenium では、展開されたメニュー内の項目をクリックするアクションをシミュレートします。
私が持っている質問は、タイムアウト期間に関連しています。カウントダウンが始まるのはいつ?wait.until() を使用するときだと思います。そして、True が ExpectedConditions によって返されると、カウントが停止すると思いますか? そして、本当の問題は、ここにあるように同じ「待機」を 2 回使用した場合、各使用間の制限として 60 秒がリセットされるのか、それとも以前に停止した場所からカウントを再開するのかということです。
では、最初の待機に 2 秒かかり、2 番目の待機に 3 秒かかった場合、wait.until() への 3 番目の呼び出しのタイムアウトは 55 秒になりますか、それとも 60 秒にリセットされますか?