Я написал Java-программу, которая использует Selenium для управления Google Chrome. Если я запускаю программу на своем компьютере, она работает правильно и с разумной скоростью. Однако, когда я экспортирую этот файл на другой компьютер (в формате .jar или .exe), он все равно работает правильно, но работает очень медленно. В частности, кажется, что для написания текстовых полей и нажатия кнопок требуется гораздо больше времени.
Во всей программе я вызываю этот метод, чтобы гарантировать, что текстовое поле / метка будет существовать до того, как произойдет действие:
/**
* This function allows the driver to wait until the element is visible before interacting with it
* @param driver - The driver that is being used
* @param webElement - A string describing the xpath of the element to wait for
* @param seconds - The maximum number of seconds that the driver is willing to wait
* @return - The WebElement after it has appeared on the page
*/
public static WebElement waitForElementToBeVisible(WebDriver driver, String webElement, int seconds) {
try {
WebDriverWait wait = new WebDriverWait(driver, seconds);
WebElement element = wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath(webElement)));
return element;
}
catch (TimeoutException e){
return null;
}
}
И я вызываю этот метод, чтобы убедиться, что кнопка активна перед вызовом действия:
/**
* This function allows the driver to wait until the element is clickable before interacting with it
* @param driver - The driver that is being used
* @param webElement - A string describing the xpath of the element to wait for
* @param seconds - The maximum number of seconds that the driver is willing to wait
* @return - The WebElement after it has appeared on the page
*/
public static WebElement waitForElementToBeClickable(WebDriver driver, String webElement, int seconds) {
WebDriverWait wait = new WebDriverWait(driver, seconds);
WebElement element = wait.until(ExpectedConditions.elementToBeClickable(By.xpath(webElement)));
return element;
}
Из моих исследований я попытался решить проблему различными способами. Сначала я попытался настроить параметры прокси через Google Chrome, но на обеих машинах настройки были одинаковыми. Во-вторых, я попытался установить параметры прокси программно, но это также не ускорило программу. Наконец, я попытался сократить время, которое передается описанным выше методам. К сожалению, это не ускорило программу. Кто-нибудь знает, как обеспечить одинаковую производительность программ Java Selenium на каждой машине?
Заранее благодарим за любую помощь, которую вы можете оказать.