Я тестирую страницу сайта с помощью Webdriver/Java, которая содержит много полей. Одним из полей является раскрывающийся список (или поле выбора), и он содержит проверку после потери фокуса (например, табуляция). Поэтому, если я выберу конкретную опцию в раскрывающемся списке и вкладке в следующее поле, появится окно предупреждения, в котором говорится: «Вы не можете выбрать это!».Selenium alert только показывает в режиме отладки
Теперь я делаю код, который проверяет наличие окна предупреждения и принимает его, однако это работает только для меня в режиме DEBUG. При запуске теста (т. Е. Не в отладке) я получаю «Тайм-аут через 10 секунд, ожидая присутствия оповещения». Информация о сборке: версия: «2.53.0».
Я понимаю, что это, вероятно, проблема времени, поскольку он работает в режиме DEBUG, но я не могу понять, почему, поскольку я использую ExpectedConditions.alertIsPresent(). Код, где это не удается здесь:
WebElement currentElement = driver.findElement(By.id("selectbox"));
Select currentSelect = new Select(currentElement);
currentSelect.selectByVisibleText(updatedValue);
currentElement.sendKeys(Keys.TAB);
System.out.println("milestoneA");
if ((exceptionExpected()) {
System.out.println("milestoneB");
wait.until(ExpectedConditions.alertIsPresent());
System.out.println("milestoneC");
checkAlertBox(getExpectedResultFromExcel());
}
В режиме DEBUG, код продолжает идти хорошо, и все хорошо. В режиме RUN в моих журналах я поднимаюсь до milestoneB, а затем вызывается вышеупомянутая ошибка.
В дополнение к этому, если я добавляю Thread.sleep (1000) перед Tabbing, все работает нормально.
Любые идеи, пожалуйста?
сфокусирован Когда тайм-аут Ставится переключатель? –
Нет, на самом деле, основное внимание уделяется следующему элементу. Итак, что я сделал, я сделал thread.sleep (3000) непосредственно перед sendKeys (Keys.TAB), и он сработал! Поэтому я не уверен, что делать сейчас. На самом деле не видна опция, которая имеет смысл в ExpectedConditions. Любая идея, пожалуйста? – Dragonfly