Skip to content

Commit 1e255d2

Browse files
committed
rb - update w3c support
1 parent 981cb1a commit 1e255d2

File tree

3 files changed

+29
-14
lines changed

3 files changed

+29
-14
lines changed

rb/lib/selenium/webdriver/firefox/binary.rb

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,10 @@ def path=(path)
128128
@path = path
129129
end
130130

131+
def reset_path!
132+
@path = nil
133+
end
134+
131135
def path
132136
@path ||= case Platform.os
133137
when :macosx

rb/lib/selenium/webdriver/remote/w3c_capabilities.rb

Lines changed: 24 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,17 @@ class W3CCapabilities
3838
:proxy => nil
3939
}
4040

41-
DEFAULTS.each_key do |key|
41+
KNOWN = [
42+
:remote_session_id,
43+
:specification_level,
44+
:xul_app_id,
45+
:raise_accessibility_exceptions,
46+
:rotatable,
47+
:app_build_id,
48+
:device
49+
]
50+
51+
(DEFAULTS.keys + KNOWN).each do |key|
4252
define_method key do
4353
@capabilities.fetch(key)
4454
end
@@ -94,19 +104,20 @@ def json_create(data)
94104
data = data.dup
95105

96106
# Convert due to Remote Driver implementation
97-
data["browserVersion"] = data.delete("version") if data["version"]
98-
data["platformName"] = data.delete("platform") if data["platform"]
107+
data["browserVersion"] = data.delete("version") if data.key? "version"
108+
data["platformName"] = data.delete("platform") if data.key? "platform"
99109

100110
caps = new
101-
caps.browser_name = data.delete("browserName") if data["browserName"]
102-
caps.browser_version = data.delete("browserVersion") if data["browserVersion"]
103-
caps.platform_name = data.delete("platformName") if data["platformName"]
104-
caps.platform_version = data.delete("platformVersion") if data["platformVersion"]
105-
caps.accept_ssl_certs = data.delete("acceptSslCerts") if data["acceptSslCerts"]
106-
caps.takes_screenshot = data.delete("takesScreenshot") if data["takesScreenshot"]
107-
caps.takes_element_screenshot = data.delete("takesElementScreenshot") if data["takesElementScreenshot"]
108-
caps.page_load_strategy = data.delete("pageLoadStrategy") if data["pageloadStrategy"]
109-
caps.proxy = Proxy.json_create(data['proxy']) if data['proxy']
111+
caps.browser_name = data.delete("browserName") if data.key? "browserName"
112+
caps.browser_version = data.delete("browserVersion") if data.key? "browserVersion"
113+
caps.platform_name = data.delete("platformName") if data.key? "platformName"
114+
caps.platform_version = data.delete("platformVersion") if data.key? "platformVersion"
115+
caps.accept_ssl_certs = data.delete("acceptSslCerts") if data.key? "acceptSslCerts"
116+
caps.takes_screenshot = data.delete("takesScreenshot") if data.key? "takesScreenshot"
117+
caps.takes_element_screenshot = data.delete("takesElementScreenshot") if data.key? "takesElementScreenshot"
118+
caps.page_load_strategy = data.delete("pageLoadStrategy") if data.key? "pageloadStrategy"
119+
proxy = data.delete('proxy')
120+
caps.proxy = Proxy.json_create(proxy) unless proxy.empty?
110121

111122
# Remote Server Specific
112123
caps[:remote_session_id] = data.delete('webdriver.remote.sessionid')
@@ -116,7 +127,7 @@ def json_create(data)
116127
data.delete('cssSelectorsEnabled')
117128

118129
# Marionette Specific
119-
caps[:specification_level] = data.delete("specificaionLevel")
130+
caps[:specification_level] = data.delete("specificationLevel")
120131
caps[:xul_app_id] = data.delete("XULappId")
121132
caps[:raise_accessibility_exceptions] = data.delete('raisesAccessibilityExceptions')
122133
caps[:rotatable] = data.delete('rotatable')

rb/lib/selenium/webdriver/remote/w3c_commands.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ class Selenium::WebDriver::Remote::W3CBridge
6565
command :findElements, :post, "session/:session_id/elements"
6666
command :findChildElement, :post, "session/:session_id/element/:id/element"
6767
command :findChildElements, :post, "session/:session_id/element/:id/elements"
68-
command :getActiveElement, :post, "session/:session_id/element/active"
68+
command :getActiveElement, :get, "session/:session_id/element/active"
6969
command :isElementSelected, :get, "session/:session_id/element/:id/selected"
7070
command :getElementAttribute, :get, "session/:session_id/element/:id/attribute/:name"
7171
command :getElementProperty, :get, "session/:session_id/element/:id/property/:name"

0 commit comments

Comments
 (0)