pageLoadTimeout не работает для браузера Firefox в селене
В браузере Firefox pageLoadTimeout не работает, тогда как тот же код работает для браузера Chrome.
public static WebDriver startApplication(WebDriver driver, String browserName, String appURL) {
switch (browserName.toLowerCase()) {
case "chrome":
WebDriverManager.chromedriver().setup();
driver = new ChromeDriver();
break;
case "firefox":
WebDriverManager.firefoxdriver().setup();
driver = new FirefoxDriver();
break;
case "ie":
WebDriverManager.iedriver().setup();
driver= new InternetExplorerDriver();
break;
case "edge":
WebDriverManager.edgedriver().setup();
driver= new EdgeDriver();
break;
case "opera":
WebDriverManager.operadriver().setup();
driver = new OperaDriver();
break;
default:
System.out.print("Browser not supported");
}
driver.manage().timeouts().pageLoadTimeout(60, TimeUnit.SECONDS);
driver.manage().window().maximize();
driver.get(appURL);
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
return driver;
}
После того, как я нажму кнопку отправки, бэкэнду может потребоваться больше времени (около 40 секунд) для создания вывода. Мне нужно подождать, пока я не получу ответ на вызов api после нажатия кнопки отправки, то есть для полной загрузки веб-страницы.
Я использую объектную модель страницы. После нажатия кнопки я использую следующий код для получения вывода:
myTestPage.getOutput();
Этот код отлично работает для браузера Chromium, тогда как в firefox он не ждет 60 секунд pageLoadTimeout. Он ждет всего около 5 секунд.
Версия Selenium-java: 3.141.59
версия geckodriver: 0.26.0
Обновление: после нажатия кнопки отправки моя страница не переходит на другую страницу. Результат появляется на той же странице.
Проблема не похожа на этот вопрос. Вопрос связан с
the driver continues to wait till the complete page is loaded
но мой как раз наоборотthe driver doesn't wait till the complete page is loaded
. Моя проблема возникла только в браузере Firefox.