Skip to content

Commit 4930a44

Browse files
davehuntAutomatedTester
authored andcommitted
Ensure all capabilities are either within desiredCapabilities or requiredCapabilities
1 parent 0f0c066 commit 4930a44

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

py/selenium/webdriver/remote/webdriver.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -167,11 +167,15 @@ def start_session(self, desired_capabilities, browser_profile=None):
167167
- javascript_enabled - Whether the new session should support JavaScript.
168168
- browser_profile - A selenium.webdriver.firefox.firefox_profile.FirefoxProfile object. Only used if Firefox is requested.
169169
"""
170+
capabilities = {}
171+
for k, v in desired_capabilities.items():
172+
if k not in ('desiredCapabilities', 'requiredCapabilities'):
173+
capabilities.setdefault('desiredCapabilities', {})[k] = v
174+
else:
175+
capabilities[k] = v
170176
if browser_profile:
171-
desired_capabilities['firefox_profile'] = browser_profile.encoded
172-
response = self.execute(Command.NEW_SESSION, {
173-
'desiredCapabilities': desired_capabilities,
174-
})
177+
capabilities['requiredCapabilities']['firefox_profile'] = browser_profile.encoded
178+
response = self.execute(Command.NEW_SESSION, capabilities)
175179
self.session_id = response['sessionId']
176180
self.capabilities = response['value']
177181

0 commit comments

Comments
 (0)