From 2be33ae4194704779d296946541d2668b19ab168 Mon Sep 17 00:00:00 2001 From: Viet Nguyen Duc Date: Wed, 30 Oct 2024 22:18:46 +0000 Subject: [PATCH 1/2] [py] DeprecationWarning raised in default webdriver init Signed-off-by: Viet Nguyen Duc --- py/selenium/webdriver/chromium/remote_connection.py | 3 +-- py/selenium/webdriver/firefox/remote_connection.py | 3 +-- py/selenium/webdriver/ie/webdriver.py | 5 +++-- py/selenium/webdriver/safari/remote_connection.py | 3 +-- py/selenium/webdriver/safari/webdriver.py | 5 +++-- 5 files changed, 9 insertions(+), 10 deletions(-) diff --git a/py/selenium/webdriver/chromium/remote_connection.py b/py/selenium/webdriver/chromium/remote_connection.py index 021c47737cd17..9874d6ed007c1 100644 --- a/py/selenium/webdriver/chromium/remote_connection.py +++ b/py/selenium/webdriver/chromium/remote_connection.py @@ -30,9 +30,8 @@ def __init__( ignore_proxy: Optional[bool] = False, client_config: Optional[ClientConfig] = None, ) -> None: + client_config = client_config or ClientConfig(remote_server_addr=remote_server_addr, keep_alive=keep_alive) super().__init__( - remote_server_addr=remote_server_addr, - keep_alive=keep_alive, ignore_proxy=ignore_proxy, client_config=client_config, ) diff --git a/py/selenium/webdriver/firefox/remote_connection.py b/py/selenium/webdriver/firefox/remote_connection.py index 502c144c41622..7aececb30607a 100644 --- a/py/selenium/webdriver/firefox/remote_connection.py +++ b/py/selenium/webdriver/firefox/remote_connection.py @@ -32,9 +32,8 @@ def __init__( ignore_proxy: Optional[bool] = False, client_config: Optional[ClientConfig] = None, ) -> None: + client_config = client_config or ClientConfig(remote_server_addr=remote_server_addr, keep_alive=keep_alive) super().__init__( - remote_server_addr=remote_server_addr, - keep_alive=keep_alive, ignore_proxy=ignore_proxy, client_config=client_config, ) diff --git a/py/selenium/webdriver/ie/webdriver.py b/py/selenium/webdriver/ie/webdriver.py index 11c137e509fe7..748ee3ea48a3e 100644 --- a/py/selenium/webdriver/ie/webdriver.py +++ b/py/selenium/webdriver/ie/webdriver.py @@ -16,6 +16,7 @@ # under the License. from selenium.webdriver.common.driver_finder import DriverFinder +from selenium.webdriver.remote.client_config import ClientConfig from selenium.webdriver.remote.remote_connection import RemoteConnection from selenium.webdriver.remote.webdriver import WebDriver as RemoteWebDriver @@ -49,10 +50,10 @@ def __init__( self.service.path = self.service.env_path() or DriverFinder(self.service, options).get_driver_path() self.service.start() + client_config = ClientConfig(remote_server_addr=self.service.service_url, keep_alive=keep_alive) executor = RemoteConnection( - remote_server_addr=self.service.service_url, - keep_alive=keep_alive, ignore_proxy=options._ignore_local_proxy, + client_config=client_config, ) try: diff --git a/py/selenium/webdriver/safari/remote_connection.py b/py/selenium/webdriver/safari/remote_connection.py index 05dbfb379b4c2..9ce9acbf623a1 100644 --- a/py/selenium/webdriver/safari/remote_connection.py +++ b/py/selenium/webdriver/safari/remote_connection.py @@ -32,9 +32,8 @@ def __init__( ignore_proxy: Optional[bool] = False, client_config: Optional[ClientConfig] = None, ) -> None: + client_config = client_config or ClientConfig(remote_server_addr=remote_server_addr, keep_alive=keep_alive) super().__init__( - remote_server_addr=remote_server_addr, - keep_alive=keep_alive, ignore_proxy=ignore_proxy, client_config=client_config, ) diff --git a/py/selenium/webdriver/safari/webdriver.py b/py/selenium/webdriver/safari/webdriver.py index 2c37a4bd7abde..737a451789244 100644 --- a/py/selenium/webdriver/safari/webdriver.py +++ b/py/selenium/webdriver/safari/webdriver.py @@ -16,6 +16,7 @@ # under the License. from selenium.common.exceptions import WebDriverException +from selenium.webdriver.remote.client_config import ClientConfig from selenium.webdriver.remote.webdriver import WebDriver as RemoteWebDriver from ..common.driver_finder import DriverFinder @@ -50,10 +51,10 @@ def __init__( if not self.service.reuse_service: self.service.start() + client_config = ClientConfig(remote_server_addr=self.service.service_url, keep_alive=keep_alive) executor = SafariRemoteConnection( - remote_server_addr=self.service.service_url, - keep_alive=keep_alive, ignore_proxy=options._ignore_local_proxy, + client_config=client_config, ) try: From 806e3849afbff38199cd11b0641e676ed3a95ccb Mon Sep 17 00:00:00 2001 From: Viet Nguyen Duc Date: Thu, 31 Oct 2024 01:55:57 +0000 Subject: [PATCH 2/2] [py] Remote connection use timeout from ClientConfig Signed-off-by: Viet Nguyen Duc --- py/selenium/webdriver/chromium/remote_connection.py | 4 +++- py/selenium/webdriver/firefox/remote_connection.py | 4 +++- py/selenium/webdriver/ie/webdriver.py | 2 +- py/selenium/webdriver/remote/remote_connection.py | 6 +++--- py/selenium/webdriver/safari/remote_connection.py | 4 +++- py/selenium/webdriver/safari/webdriver.py | 2 +- 6 files changed, 14 insertions(+), 8 deletions(-) diff --git a/py/selenium/webdriver/chromium/remote_connection.py b/py/selenium/webdriver/chromium/remote_connection.py index 9874d6ed007c1..ea532cba8ddcd 100644 --- a/py/selenium/webdriver/chromium/remote_connection.py +++ b/py/selenium/webdriver/chromium/remote_connection.py @@ -30,7 +30,9 @@ def __init__( ignore_proxy: Optional[bool] = False, client_config: Optional[ClientConfig] = None, ) -> None: - client_config = client_config or ClientConfig(remote_server_addr=remote_server_addr, keep_alive=keep_alive) + client_config = client_config or ClientConfig( + remote_server_addr=remote_server_addr, keep_alive=keep_alive, timeout=120 + ) super().__init__( ignore_proxy=ignore_proxy, client_config=client_config, diff --git a/py/selenium/webdriver/firefox/remote_connection.py b/py/selenium/webdriver/firefox/remote_connection.py index 7aececb30607a..a749cce37dc62 100644 --- a/py/selenium/webdriver/firefox/remote_connection.py +++ b/py/selenium/webdriver/firefox/remote_connection.py @@ -32,7 +32,9 @@ def __init__( ignore_proxy: Optional[bool] = False, client_config: Optional[ClientConfig] = None, ) -> None: - client_config = client_config or ClientConfig(remote_server_addr=remote_server_addr, keep_alive=keep_alive) + client_config = client_config or ClientConfig( + remote_server_addr=remote_server_addr, keep_alive=keep_alive, timeout=120 + ) super().__init__( ignore_proxy=ignore_proxy, client_config=client_config, diff --git a/py/selenium/webdriver/ie/webdriver.py b/py/selenium/webdriver/ie/webdriver.py index 748ee3ea48a3e..4df2c989a5813 100644 --- a/py/selenium/webdriver/ie/webdriver.py +++ b/py/selenium/webdriver/ie/webdriver.py @@ -50,7 +50,7 @@ def __init__( self.service.path = self.service.env_path() or DriverFinder(self.service, options).get_driver_path() self.service.start() - client_config = ClientConfig(remote_server_addr=self.service.service_url, keep_alive=keep_alive) + client_config = ClientConfig(remote_server_addr=self.service.service_url, keep_alive=keep_alive, timeout=120) executor = RemoteConnection( ignore_proxy=options._ignore_local_proxy, client_config=client_config, diff --git a/py/selenium/webdriver/remote/remote_connection.py b/py/selenium/webdriver/remote/remote_connection.py index 57f38b5806574..72bd37d76a46c 100644 --- a/py/selenium/webdriver/remote/remote_connection.py +++ b/py/selenium/webdriver/remote/remote_connection.py @@ -375,7 +375,7 @@ def execute(self, command, params): LOGGER.debug("%s %s %s", command_info[0], url, str(trimmed)) return self._request(command_info[0], url, body=data) - def _request(self, method, url, body=None, timeout=120): + def _request(self, method, url, body=None): """Send an HTTP request to the remote server. :Args: @@ -397,12 +397,12 @@ def _request(self, method, url, body=None, timeout=120): body = None if self._client_config.keep_alive: - response = self._conn.request(method, url, body=body, headers=headers, timeout=timeout) + response = self._conn.request(method, url, body=body, headers=headers, timeout=self._client_config.timeout) statuscode = response.status else: conn = self._get_connection_manager() with conn as http: - response = http.request(method, url, body=body, headers=headers, timeout=timeout) + response = http.request(method, url, body=body, headers=headers, timeout=self._client_config.timeout) statuscode = response.status data = response.data.decode("UTF-8") LOGGER.debug("Remote response: status=%s | data=%s | headers=%s", response.status, data, response.headers) diff --git a/py/selenium/webdriver/safari/remote_connection.py b/py/selenium/webdriver/safari/remote_connection.py index 9ce9acbf623a1..cd8762da4ce92 100644 --- a/py/selenium/webdriver/safari/remote_connection.py +++ b/py/selenium/webdriver/safari/remote_connection.py @@ -32,7 +32,9 @@ def __init__( ignore_proxy: Optional[bool] = False, client_config: Optional[ClientConfig] = None, ) -> None: - client_config = client_config or ClientConfig(remote_server_addr=remote_server_addr, keep_alive=keep_alive) + client_config = client_config or ClientConfig( + remote_server_addr=remote_server_addr, keep_alive=keep_alive, timeout=120 + ) super().__init__( ignore_proxy=ignore_proxy, client_config=client_config, diff --git a/py/selenium/webdriver/safari/webdriver.py b/py/selenium/webdriver/safari/webdriver.py index 737a451789244..1480f5dfdd7bb 100644 --- a/py/selenium/webdriver/safari/webdriver.py +++ b/py/selenium/webdriver/safari/webdriver.py @@ -51,7 +51,7 @@ def __init__( if not self.service.reuse_service: self.service.start() - client_config = ClientConfig(remote_server_addr=self.service.service_url, keep_alive=keep_alive) + client_config = ClientConfig(remote_server_addr=self.service.service_url, keep_alive=keep_alive, timeout=120) executor = SafariRemoteConnection( ignore_proxy=options._ignore_local_proxy, client_config=client_config,