Skip to content

Commit 5a62db1

Browse files
[py] remote commands dict is moved outside RemoteConnection class in remote/remote_connection.py (#12261)
[py] created a separate dictionary of remote commands outside RemoteConnection Co-authored-by: Diego Molina <[email protected]>
1 parent b99c470 commit 5a62db1

1 file changed

Lines changed: 91 additions & 90 deletions

File tree

py/selenium/webdriver/remote/remote_connection.py

Lines changed: 91 additions & 90 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,96 @@
3434

3535
LOGGER = logging.getLogger(__name__)
3636

37+
remote_commands = {
38+
Command.NEW_SESSION: ("POST", "/session"),
39+
Command.QUIT: ("DELETE", "/session/$sessionId"),
40+
Command.W3C_GET_CURRENT_WINDOW_HANDLE: ("GET", "/session/$sessionId/window"),
41+
Command.W3C_GET_WINDOW_HANDLES: ("GET", "/session/$sessionId/window/handles"),
42+
Command.GET: ("POST", "/session/$sessionId/url"),
43+
Command.GO_FORWARD: ("POST", "/session/$sessionId/forward"),
44+
Command.GO_BACK: ("POST", "/session/$sessionId/back"),
45+
Command.REFRESH: ("POST", "/session/$sessionId/refresh"),
46+
Command.W3C_EXECUTE_SCRIPT: ("POST", "/session/$sessionId/execute/sync"),
47+
Command.W3C_EXECUTE_SCRIPT_ASYNC: ("POST", "/session/$sessionId/execute/async"),
48+
Command.GET_CURRENT_URL: ("GET", "/session/$sessionId/url"),
49+
Command.GET_TITLE: ("GET", "/session/$sessionId/title"),
50+
Command.GET_PAGE_SOURCE: ("GET", "/session/$sessionId/source"),
51+
Command.SCREENSHOT: ("GET", "/session/$sessionId/screenshot"),
52+
Command.ELEMENT_SCREENSHOT: ("GET", "/session/$sessionId/element/$id/screenshot"),
53+
Command.FIND_ELEMENT: ("POST", "/session/$sessionId/element"),
54+
Command.FIND_ELEMENTS: ("POST", "/session/$sessionId/elements"),
55+
Command.W3C_GET_ACTIVE_ELEMENT: ("GET", "/session/$sessionId/element/active"),
56+
Command.FIND_CHILD_ELEMENT: ("POST", "/session/$sessionId/element/$id/element"),
57+
Command.FIND_CHILD_ELEMENTS: ("POST", "/session/$sessionId/element/$id/elements"),
58+
Command.CLICK_ELEMENT: ("POST", "/session/$sessionId/element/$id/click"),
59+
Command.CLEAR_ELEMENT: ("POST", "/session/$sessionId/element/$id/clear"),
60+
Command.GET_ELEMENT_TEXT: ("GET", "/session/$sessionId/element/$id/text"),
61+
Command.SEND_KEYS_TO_ELEMENT: ("POST", "/session/$sessionId/element/$id/value"),
62+
Command.UPLOAD_FILE: ("POST", "/session/$sessionId/se/file"),
63+
Command.GET_ELEMENT_TAG_NAME: ("GET", "/session/$sessionId/element/$id/name"),
64+
Command.IS_ELEMENT_SELECTED: ("GET", "/session/$sessionId/element/$id/selected"),
65+
Command.IS_ELEMENT_ENABLED: ("GET", "/session/$sessionId/element/$id/enabled"),
66+
Command.GET_ELEMENT_RECT: ("GET", "/session/$sessionId/element/$id/rect"),
67+
Command.GET_ELEMENT_ATTRIBUTE: ("GET", "/session/$sessionId/element/$id/attribute/$name"),
68+
Command.GET_ELEMENT_PROPERTY: ("GET", "/session/$sessionId/element/$id/property/$name"),
69+
Command.GET_ELEMENT_ARIA_ROLE: ("GET", "/session/$sessionId/element/$id/computedrole"),
70+
Command.GET_ELEMENT_ARIA_LABEL: ("GET", "/session/$sessionId/element/$id/computedlabel"),
71+
Command.GET_SHADOW_ROOT: ("GET", "/session/$sessionId/element/$id/shadow"),
72+
Command.FIND_ELEMENT_FROM_SHADOW_ROOT: ("POST", "/session/$sessionId/shadow/$shadowId/element"),
73+
Command.FIND_ELEMENTS_FROM_SHADOW_ROOT: ("POST", "/session/$sessionId/shadow/$shadowId/elements"),
74+
Command.GET_ALL_COOKIES: ("GET", "/session/$sessionId/cookie"),
75+
Command.ADD_COOKIE: ("POST", "/session/$sessionId/cookie"),
76+
Command.GET_COOKIE: ("GET", "/session/$sessionId/cookie/$name"),
77+
Command.DELETE_ALL_COOKIES: ("DELETE", "/session/$sessionId/cookie"),
78+
Command.DELETE_COOKIE: ("DELETE", "/session/$sessionId/cookie/$name"),
79+
Command.SWITCH_TO_FRAME: ("POST", "/session/$sessionId/frame"),
80+
Command.SWITCH_TO_PARENT_FRAME: ("POST", "/session/$sessionId/frame/parent"),
81+
Command.SWITCH_TO_WINDOW: ("POST", "/session/$sessionId/window"),
82+
Command.NEW_WINDOW: ("POST", "/session/$sessionId/window/new"),
83+
Command.CLOSE: ("DELETE", "/session/$sessionId/window"),
84+
Command.GET_ELEMENT_VALUE_OF_CSS_PROPERTY: ("GET", "/session/$sessionId/element/$id/css/$propertyName"),
85+
Command.EXECUTE_ASYNC_SCRIPT: ("POST", "/session/$sessionId/execute_async"),
86+
Command.SET_TIMEOUTS: ("POST", "/session/$sessionId/timeouts"),
87+
Command.GET_TIMEOUTS: ("GET", "/session/$sessionId/timeouts"),
88+
Command.W3C_DISMISS_ALERT: ("POST", "/session/$sessionId/alert/dismiss"),
89+
Command.W3C_ACCEPT_ALERT: ("POST", "/session/$sessionId/alert/accept"),
90+
Command.W3C_SET_ALERT_VALUE: ("POST", "/session/$sessionId/alert/text"),
91+
Command.W3C_GET_ALERT_TEXT: ("GET", "/session/$sessionId/alert/text"),
92+
Command.W3C_ACTIONS: ("POST", "/session/$sessionId/actions"),
93+
Command.W3C_CLEAR_ACTIONS: ("DELETE", "/session/$sessionId/actions"),
94+
Command.SET_WINDOW_RECT: ("POST", "/session/$sessionId/window/rect"),
95+
Command.GET_WINDOW_RECT: ("GET", "/session/$sessionId/window/rect"),
96+
Command.W3C_MAXIMIZE_WINDOW: ("POST", "/session/$sessionId/window/maximize"),
97+
Command.SET_SCREEN_ORIENTATION: ("POST", "/session/$sessionId/orientation"),
98+
Command.GET_SCREEN_ORIENTATION: ("GET", "/session/$sessionId/orientation"),
99+
Command.GET_NETWORK_CONNECTION: ("GET", "/session/$sessionId/network_connection"),
100+
Command.SET_NETWORK_CONNECTION: ("POST", "/session/$sessionId/network_connection"),
101+
Command.GET_LOG: ("POST", "/session/$sessionId/se/log"),
102+
Command.GET_AVAILABLE_LOG_TYPES: ("GET", "/session/$sessionId/se/log/types"),
103+
Command.CURRENT_CONTEXT_HANDLE: ("GET", "/session/$sessionId/context"),
104+
Command.CONTEXT_HANDLES: ("GET", "/session/$sessionId/contexts"),
105+
Command.SWITCH_TO_CONTEXT: ("POST", "/session/$sessionId/context"),
106+
Command.FULLSCREEN_WINDOW: ("POST", "/session/$sessionId/window/fullscreen"),
107+
Command.MINIMIZE_WINDOW: ("POST", "/session/$sessionId/window/minimize"),
108+
Command.PRINT_PAGE: ("POST", "/session/$sessionId/print"),
109+
Command.ADD_VIRTUAL_AUTHENTICATOR: ("POST", "/session/$sessionId/webauthn/authenticator"),
110+
Command.REMOVE_VIRTUAL_AUTHENTICATOR: (
111+
"DELETE",
112+
"/session/$sessionId/webauthn/authenticator/$authenticatorId",
113+
),
114+
Command.ADD_CREDENTIAL: ("POST", "/session/$sessionId/webauthn/authenticator/$authenticatorId/credential"),
115+
Command.GET_CREDENTIALS: ("GET", "/session/$sessionId/webauthn/authenticator/$authenticatorId/credentials"),
116+
Command.REMOVE_CREDENTIAL: (
117+
"DELETE",
118+
"/session/$sessionId/webauthn/authenticator/$authenticatorId/credentials/$credentialId",
119+
),
120+
Command.REMOVE_ALL_CREDENTIALS: (
121+
"DELETE",
122+
"/session/$sessionId/webauthn/authenticator/$authenticatorId/credentials",
123+
),
124+
Command.SET_USER_VERIFIED: ("POST", "/session/$sessionId/webauthn/authenticator/$authenticatorId/uv"),
125+
}
126+
37127

38128
class RemoteConnection:
39129
"""A connection with the Remote WebDriver server.
@@ -178,96 +268,7 @@ def __init__(self, remote_server_addr: str, keep_alive: bool = False, ignore_pro
178268
self._proxy_url = self._get_proxy_url() if not ignore_proxy else None
179269
if keep_alive:
180270
self._conn = self._get_connection_manager()
181-
182-
self._commands = {
183-
Command.NEW_SESSION: ("POST", "/session"),
184-
Command.QUIT: ("DELETE", "/session/$sessionId"),
185-
Command.W3C_GET_CURRENT_WINDOW_HANDLE: ("GET", "/session/$sessionId/window"),
186-
Command.W3C_GET_WINDOW_HANDLES: ("GET", "/session/$sessionId/window/handles"),
187-
Command.GET: ("POST", "/session/$sessionId/url"),
188-
Command.GO_FORWARD: ("POST", "/session/$sessionId/forward"),
189-
Command.GO_BACK: ("POST", "/session/$sessionId/back"),
190-
Command.REFRESH: ("POST", "/session/$sessionId/refresh"),
191-
Command.W3C_EXECUTE_SCRIPT: ("POST", "/session/$sessionId/execute/sync"),
192-
Command.W3C_EXECUTE_SCRIPT_ASYNC: ("POST", "/session/$sessionId/execute/async"),
193-
Command.GET_CURRENT_URL: ("GET", "/session/$sessionId/url"),
194-
Command.GET_TITLE: ("GET", "/session/$sessionId/title"),
195-
Command.GET_PAGE_SOURCE: ("GET", "/session/$sessionId/source"),
196-
Command.SCREENSHOT: ("GET", "/session/$sessionId/screenshot"),
197-
Command.ELEMENT_SCREENSHOT: ("GET", "/session/$sessionId/element/$id/screenshot"),
198-
Command.FIND_ELEMENT: ("POST", "/session/$sessionId/element"),
199-
Command.FIND_ELEMENTS: ("POST", "/session/$sessionId/elements"),
200-
Command.W3C_GET_ACTIVE_ELEMENT: ("GET", "/session/$sessionId/element/active"),
201-
Command.FIND_CHILD_ELEMENT: ("POST", "/session/$sessionId/element/$id/element"),
202-
Command.FIND_CHILD_ELEMENTS: ("POST", "/session/$sessionId/element/$id/elements"),
203-
Command.CLICK_ELEMENT: ("POST", "/session/$sessionId/element/$id/click"),
204-
Command.CLEAR_ELEMENT: ("POST", "/session/$sessionId/element/$id/clear"),
205-
Command.GET_ELEMENT_TEXT: ("GET", "/session/$sessionId/element/$id/text"),
206-
Command.SEND_KEYS_TO_ELEMENT: ("POST", "/session/$sessionId/element/$id/value"),
207-
Command.UPLOAD_FILE: ("POST", "/session/$sessionId/se/file"),
208-
Command.GET_ELEMENT_TAG_NAME: ("GET", "/session/$sessionId/element/$id/name"),
209-
Command.IS_ELEMENT_SELECTED: ("GET", "/session/$sessionId/element/$id/selected"),
210-
Command.IS_ELEMENT_ENABLED: ("GET", "/session/$sessionId/element/$id/enabled"),
211-
Command.GET_ELEMENT_RECT: ("GET", "/session/$sessionId/element/$id/rect"),
212-
Command.GET_ELEMENT_ATTRIBUTE: ("GET", "/session/$sessionId/element/$id/attribute/$name"),
213-
Command.GET_ELEMENT_PROPERTY: ("GET", "/session/$sessionId/element/$id/property/$name"),
214-
Command.GET_ELEMENT_ARIA_ROLE: ("GET", "/session/$sessionId/element/$id/computedrole"),
215-
Command.GET_ELEMENT_ARIA_LABEL: ("GET", "/session/$sessionId/element/$id/computedlabel"),
216-
Command.GET_SHADOW_ROOT: ("GET", "/session/$sessionId/element/$id/shadow"),
217-
Command.FIND_ELEMENT_FROM_SHADOW_ROOT: ("POST", "/session/$sessionId/shadow/$shadowId/element"),
218-
Command.FIND_ELEMENTS_FROM_SHADOW_ROOT: ("POST", "/session/$sessionId/shadow/$shadowId/elements"),
219-
Command.GET_ALL_COOKIES: ("GET", "/session/$sessionId/cookie"),
220-
Command.ADD_COOKIE: ("POST", "/session/$sessionId/cookie"),
221-
Command.GET_COOKIE: ("GET", "/session/$sessionId/cookie/$name"),
222-
Command.DELETE_ALL_COOKIES: ("DELETE", "/session/$sessionId/cookie"),
223-
Command.DELETE_COOKIE: ("DELETE", "/session/$sessionId/cookie/$name"),
224-
Command.SWITCH_TO_FRAME: ("POST", "/session/$sessionId/frame"),
225-
Command.SWITCH_TO_PARENT_FRAME: ("POST", "/session/$sessionId/frame/parent"),
226-
Command.SWITCH_TO_WINDOW: ("POST", "/session/$sessionId/window"),
227-
Command.NEW_WINDOW: ("POST", "/session/$sessionId/window/new"),
228-
Command.CLOSE: ("DELETE", "/session/$sessionId/window"),
229-
Command.GET_ELEMENT_VALUE_OF_CSS_PROPERTY: ("GET", "/session/$sessionId/element/$id/css/$propertyName"),
230-
Command.EXECUTE_ASYNC_SCRIPT: ("POST", "/session/$sessionId/execute_async"),
231-
Command.SET_TIMEOUTS: ("POST", "/session/$sessionId/timeouts"),
232-
Command.GET_TIMEOUTS: ("GET", "/session/$sessionId/timeouts"),
233-
Command.W3C_DISMISS_ALERT: ("POST", "/session/$sessionId/alert/dismiss"),
234-
Command.W3C_ACCEPT_ALERT: ("POST", "/session/$sessionId/alert/accept"),
235-
Command.W3C_SET_ALERT_VALUE: ("POST", "/session/$sessionId/alert/text"),
236-
Command.W3C_GET_ALERT_TEXT: ("GET", "/session/$sessionId/alert/text"),
237-
Command.W3C_ACTIONS: ("POST", "/session/$sessionId/actions"),
238-
Command.W3C_CLEAR_ACTIONS: ("DELETE", "/session/$sessionId/actions"),
239-
Command.SET_WINDOW_RECT: ("POST", "/session/$sessionId/window/rect"),
240-
Command.GET_WINDOW_RECT: ("GET", "/session/$sessionId/window/rect"),
241-
Command.W3C_MAXIMIZE_WINDOW: ("POST", "/session/$sessionId/window/maximize"),
242-
Command.SET_SCREEN_ORIENTATION: ("POST", "/session/$sessionId/orientation"),
243-
Command.GET_SCREEN_ORIENTATION: ("GET", "/session/$sessionId/orientation"),
244-
Command.GET_NETWORK_CONNECTION: ("GET", "/session/$sessionId/network_connection"),
245-
Command.SET_NETWORK_CONNECTION: ("POST", "/session/$sessionId/network_connection"),
246-
Command.GET_LOG: ("POST", "/session/$sessionId/se/log"),
247-
Command.GET_AVAILABLE_LOG_TYPES: ("GET", "/session/$sessionId/se/log/types"),
248-
Command.CURRENT_CONTEXT_HANDLE: ("GET", "/session/$sessionId/context"),
249-
Command.CONTEXT_HANDLES: ("GET", "/session/$sessionId/contexts"),
250-
Command.SWITCH_TO_CONTEXT: ("POST", "/session/$sessionId/context"),
251-
Command.FULLSCREEN_WINDOW: ("POST", "/session/$sessionId/window/fullscreen"),
252-
Command.MINIMIZE_WINDOW: ("POST", "/session/$sessionId/window/minimize"),
253-
Command.PRINT_PAGE: ("POST", "/session/$sessionId/print"),
254-
Command.ADD_VIRTUAL_AUTHENTICATOR: ("POST", "/session/$sessionId/webauthn/authenticator"),
255-
Command.REMOVE_VIRTUAL_AUTHENTICATOR: (
256-
"DELETE",
257-
"/session/$sessionId/webauthn/authenticator/$authenticatorId",
258-
),
259-
Command.ADD_CREDENTIAL: ("POST", "/session/$sessionId/webauthn/authenticator/$authenticatorId/credential"),
260-
Command.GET_CREDENTIALS: ("GET", "/session/$sessionId/webauthn/authenticator/$authenticatorId/credentials"),
261-
Command.REMOVE_CREDENTIAL: (
262-
"DELETE",
263-
"/session/$sessionId/webauthn/authenticator/$authenticatorId/credentials/$credentialId",
264-
),
265-
Command.REMOVE_ALL_CREDENTIALS: (
266-
"DELETE",
267-
"/session/$sessionId/webauthn/authenticator/$authenticatorId/credentials",
268-
),
269-
Command.SET_USER_VERIFIED: ("POST", "/session/$sessionId/webauthn/authenticator/$authenticatorId/uv"),
270-
}
271+
self._commands = remote_commands
271272

272273
def execute(self, command, params):
273274
"""Send a command to the remote server.

0 commit comments

Comments
 (0)