org.openqa.selenium.remote.internal.ApacheHttpClient 在 Selenium 3.14.0 中已弃用 - 应该改用什么?

我目前正在使用 Selenium 3.14.0 库,其中 org.openqa.selenium.remote.internal.ApacheHttpClient 已被弃用,没有其他信息.应该改用哪个?

I am currently using Selenium 3.14.0 library in which org.openqa.selenium.remote.internal.ApacheHttpClient is deprecated with no other information. Which should be used instead?

该类已在下一个版本 3.141.59 中删除.

The class is already removed in the next version, 3.141.59.

我将它与 EdgeDriver 服务一起使用,如下所示:

I am using it with EdgeDriver Service like following:

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());

推荐答案

HTTP客户端切换到okhttp: http://square.github.io/okhttp/

The HTTP client was switched to okhttp: http://square.github.io/okhttp/

这在 Selenium Java CHANGELOG 3.11.0 版本中有所提及,您也可以在源代码中看到它.

This is mentioned in the Selenium Java CHANGELOG of version 3.11.0 and also you can see it in the source code.

相关文章