org.openqa.selenium.remote.internal.ApacheHttpClient устарела в Selenium 3.14.0 - Что следует использовать вместо этого? - PullRequest
0 голосов
/ 27 февраля 2019

В настоящее время я использую библиотеку Selenium 3.14.0, в которой org.openqa.selenium.remote.internal.ApacheHttpClient устарела без какой-либо другой информации.Что следует использовать вместо этого?

Класс уже удален в следующей версии, 3.141.59.

Я использую его с EdgeDriver Service следующим образом:

final int connectionTimeout = 2 * 60 * 1000;
final int socketTimeout = 10 * 60 * 1000; // 10 minute timeout
final ApacheHttpClient.Factory clientFactory = new ApacheHttpClient.Factory(
    new HttpClientFactory(connectionTimeout, socketTimeout));

...

edgeDriverService = new EdgeDriverService.Builder()
                        .usingDriverExecutable(edgeDriver)
                        .usingAnyFreePort()
                        .build();
edgeDriverService.start();
HttpCommandExecutor executor = new HttpCommandExecutor(
    new HashMap<>(), edgeDriverService.getUrl(), clientFactory);
WebDriver driver = new RemoteWebDriver(executor, new EdgeOptions());

Ответы [ 2 ]

0 голосов
/ 27 февраля 2019

Несколько фактов:

  • Клиент Java RemoteWebDriver использует CommandExecutor для отправки команд на RemoteWebDriver .По умолчанию RemoteWebDriver использует HttpCommandExecutor , который использует библиотеку Apache HttpClient для отправки команд.
  • Согласно CHANGELOG
    • Детали реализации HttpClient вышли из HttpCommandExecutor справа от Selenium v2.45.0 .
    • При наличии Selenium v3.11 , Selenium Gridбыл переключен на использование OkHttp вместо Apache HttpClient.
    • Далее с выпуском Selenium v3.141.0 , Apache HttpClient было удалено из selenium-server-standalone, что резко сократило размер дистрибутива сервера Selen.
    • Даже apache-backed httpclient также был удален.
0 голосов
/ 27 февраля 2019

HTTP-клиент был переключен на okhttp: http://square.github.io/okhttp/

Это упоминается в Selenium Java CHANGELOG версии 3.11.0, а также вы можете увидеть его в исходном коде.

...