Я тестирую веб-приложение для мобильных устройств. Я запускаю тест через задачу Gradle (она использует Junit5). У меня проблема с тайм-аутом исключения. На экране нет элемента, у меня есть исключение - это правильно. При появлении теста исключения в течение примерно 8 минут для Вариант 1 и метода не удалось, тест не пройден (другие методы в цепочке не запускаются). Когда я использую try / catch в Variant 2 test wait 15se c, следующий метод запускается и завершается неудачей через 8 минут (я использую цепочку методов). Я не знаю, почему ожидание составляет 8 минут (я нигде не установил его).
Меня интересует:
- метод не удался (следующий метод в цепочке не запускается )
ждать только 15 се c вместо 8 мин.
вариант 1
//TIMEOUT = 15 sec.
public MobileElement getElement(By locator, int... waitTime) {
int timeOut = waitTime.length > 0 ? waitTime[0] : TIMEOUT;
WebDriverWait wait = new WebDriverWait(driver, timeOut);
wait.withMessage(String.format("Element was not found\nLocator - %s", locator.toString()));
return (MobileElement) wait.until(ExpectedConditions.visibilityOfElementLocated(locator));
}
вариант 2
WebElement element = null;
WebDriverWait wait = new WebDriverWait(driver, timeOut);
wait.withMessage(String.format("Element was not found\nLocator - %s", locator.toString()));
try {
element = wait.until(ExpectedConditions.visibilityOfElementLocated(locator));
}
catch (TimeoutException ex) {
}
return (MobileElement) element;