selenium-webdriver 0.0.9 → 0.0.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (135) hide show
  1. data/chrome/prebuilt/Win32/Release/npchromedriver.dll +0 -0
  2. data/chrome/prebuilt/x64/Release/npchromedriver.dll +0 -0
  3. data/chrome/src/extension/background.js +1 -0
  4. data/chrome/src/extension/content_script.js +182 -177
  5. data/chrome/src/extension/manifest-nonwin.json +1 -1
  6. data/chrome/src/extension/manifest-win.json +1 -1
  7. data/chrome/src/rb/lib/selenium/webdriver/chrome/bridge.rb +9 -3
  8. data/chrome/src/rb/lib/selenium/webdriver/chrome/launcher.rb +1 -1
  9. data/common/src/js/core/Blank.html +7 -0
  10. data/common/src/js/core/InjectedRemoteRunner.html +8 -0
  11. data/common/src/js/core/RemoteRunner.html +101 -0
  12. data/common/src/js/core/SeleniumLog.html +109 -0
  13. data/common/src/js/core/TestPrompt.html +145 -0
  14. data/common/src/js/core/TestRunner-splash.html +55 -0
  15. data/common/src/js/core/TestRunner.html +177 -0
  16. data/common/src/js/core/icons/all.png +0 -0
  17. data/common/src/js/core/icons/continue.png +0 -0
  18. data/common/src/js/core/icons/continue_disabled.png +0 -0
  19. data/common/src/js/core/icons/pause.png +0 -0
  20. data/common/src/js/core/icons/pause_disabled.png +0 -0
  21. data/common/src/js/core/icons/selected.png +0 -0
  22. data/common/src/js/core/icons/step.png +0 -0
  23. data/common/src/js/core/icons/step_disabled.png +0 -0
  24. data/common/src/js/core/lib/cssQuery/cssQuery-p.js +6 -0
  25. data/common/src/js/core/lib/cssQuery/src/cssQuery-level2.js +142 -0
  26. data/common/src/js/core/lib/cssQuery/src/cssQuery-level3.js +150 -0
  27. data/common/src/js/core/lib/cssQuery/src/cssQuery-standard.js +53 -0
  28. data/common/src/js/core/lib/cssQuery/src/cssQuery.js +356 -0
  29. data/common/src/js/core/lib/prototype.js +2006 -0
  30. data/common/src/js/core/lib/scriptaculous/builder.js +101 -0
  31. data/common/src/js/core/lib/scriptaculous/controls.js +815 -0
  32. data/common/src/js/core/lib/scriptaculous/dragdrop.js +915 -0
  33. data/common/src/js/core/lib/scriptaculous/effects.js +958 -0
  34. data/common/src/js/core/lib/scriptaculous/scriptaculous.js +47 -0
  35. data/common/src/js/core/lib/scriptaculous/slider.js +283 -0
  36. data/common/src/js/core/lib/scriptaculous/unittest.js +383 -0
  37. data/common/src/js/core/lib/snapsie.js +91 -0
  38. data/common/src/js/core/scripts/find_matching_child.js +69 -0
  39. data/common/src/js/core/scripts/htmlutils.js +1623 -0
  40. data/common/src/js/core/scripts/injection.html +72 -0
  41. data/common/src/js/core/scripts/selenium-api.js +3294 -0
  42. data/common/src/js/core/scripts/selenium-browserbot.js +2430 -0
  43. data/common/src/js/core/scripts/selenium-browserdetect.js +153 -0
  44. data/common/src/js/core/scripts/selenium-commandhandlers.js +379 -0
  45. data/common/src/js/core/scripts/selenium-executionloop.js +175 -0
  46. data/common/src/js/core/scripts/selenium-logging.js +148 -0
  47. data/common/src/js/core/scripts/selenium-remoterunner.js +695 -0
  48. data/common/src/js/core/scripts/selenium-testrunner.js +1362 -0
  49. data/common/src/js/core/scripts/selenium-version.js +5 -0
  50. data/common/src/js/core/scripts/ui-doc.html +808 -0
  51. data/common/src/js/core/scripts/ui-element.js +1644 -0
  52. data/common/src/js/core/scripts/ui-map-sample.js +979 -0
  53. data/common/src/js/core/scripts/user-extensions.js +3 -0
  54. data/common/src/js/core/scripts/user-extensions.js.sample +75 -0
  55. data/common/src/js/core/scripts/xmlextras.js +153 -0
  56. data/common/src/js/core/selenium-logo.png +0 -0
  57. data/common/src/js/core/selenium-test.css +43 -0
  58. data/common/src/js/core/selenium.css +316 -0
  59. data/common/src/js/core/xpath/dom.js +566 -0
  60. data/common/src/js/core/xpath/javascript-xpath-0.1.11.js +2816 -0
  61. data/common/src/js/core/xpath/util.js +549 -0
  62. data/common/src/js/core/xpath/xmltoken.js +149 -0
  63. data/common/src/js/core/xpath/xpath.js +2481 -0
  64. data/common/src/js/jsunit/app/css/jsUnitStyle.css +50 -0
  65. data/common/src/js/jsunit/app/css/readme +10 -0
  66. data/common/src/js/jsunit/app/emptyPage.html +11 -0
  67. data/common/src/js/jsunit/app/jsUnitCore.js +534 -0
  68. data/common/src/js/jsunit/app/jsUnitMockTimeout.js +81 -0
  69. data/common/src/js/jsunit/app/jsUnitTestManager.js +705 -0
  70. data/common/src/js/jsunit/app/jsUnitTestSuite.js +44 -0
  71. data/common/src/js/jsunit/app/jsUnitTracer.js +102 -0
  72. data/common/src/js/jsunit/app/jsUnitVersionCheck.js +59 -0
  73. data/common/src/js/jsunit/app/main-counts-errors.html +12 -0
  74. data/common/src/js/jsunit/app/main-counts-failures.html +13 -0
  75. data/common/src/js/jsunit/app/main-counts-runs.html +13 -0
  76. data/common/src/js/jsunit/app/main-counts.html +21 -0
  77. data/common/src/js/jsunit/app/main-data.html +178 -0
  78. data/common/src/js/jsunit/app/main-errors.html +23 -0
  79. data/common/src/js/jsunit/app/main-frame.html +19 -0
  80. data/common/src/js/jsunit/app/main-loader.html +45 -0
  81. data/common/src/js/jsunit/app/main-progress.html +25 -0
  82. data/common/src/js/jsunit/app/main-results.html +67 -0
  83. data/common/src/js/jsunit/app/main-status.html +13 -0
  84. data/common/src/js/jsunit/app/testContainer.html +16 -0
  85. data/common/src/js/jsunit/app/testContainerController.html +77 -0
  86. data/common/src/js/jsunit/app/xbDebug.js +306 -0
  87. data/common/src/js/jsunit/changelog.txt +60 -0
  88. data/common/src/js/jsunit/css/jsUnitStyle.css +83 -0
  89. data/common/src/js/jsunit/images/green.gif +0 -0
  90. data/common/src/js/jsunit/images/logo_jsunit.gif +0 -0
  91. data/common/src/js/jsunit/images/powerby-transparent.gif +0 -0
  92. data/common/src/js/jsunit/images/red.gif +0 -0
  93. data/common/src/js/jsunit/licenses/JDOM_license.txt +56 -0
  94. data/common/src/js/jsunit/licenses/Jetty_license.html +213 -0
  95. data/common/src/js/jsunit/licenses/MPL-1.1.txt +470 -0
  96. data/common/src/js/jsunit/licenses/gpl-2.txt +340 -0
  97. data/common/src/js/jsunit/licenses/index.html +141 -0
  98. data/common/src/js/jsunit/licenses/lgpl-2.1.txt +504 -0
  99. data/common/src/js/jsunit/licenses/mpl-tri-license-c.txt +35 -0
  100. data/common/src/js/jsunit/licenses/mpl-tri-license-html.txt +35 -0
  101. data/common/src/js/jsunit/readme.txt +19 -0
  102. data/common/src/js/jsunit/testRunner.html +167 -0
  103. data/common/src/js/jsunit/version.txt +1 -0
  104. data/common/src/rb/README +29 -0
  105. data/common/src/rb/lib/selenium/webdriver/driver.rb +124 -12
  106. data/common/src/rb/lib/selenium/webdriver/element.rb +119 -3
  107. data/common/src/rb/lib/selenium/webdriver/error.rb +1 -2
  108. data/common/src/rb/lib/selenium/webdriver/find.rb +19 -2
  109. data/common/src/rb/lib/selenium/webdriver/keys.rb +5 -1
  110. data/common/src/rb/lib/selenium/webdriver/navigation.rb +8 -4
  111. data/common/src/rb/lib/selenium/webdriver/platform.rb +4 -2
  112. data/common/src/rb/lib/selenium/webdriver/target_locator.rb +18 -0
  113. data/firefox/prebuilt/Win32/Release/webdriver-firefox.dll +0 -0
  114. data/firefox/prebuilt/linux/Release/libwebdriver-firefox.so +0 -0
  115. data/firefox/prebuilt/linux/Release/x_ignore_nofocus.so +0 -0
  116. data/firefox/prebuilt/linux64/Release/libwebdriver-firefox.so +0 -0
  117. data/firefox/prebuilt/linux64/Release/x_ignore_nofocus.so +0 -0
  118. data/firefox/src/extension/components/utils.js +13 -2
  119. data/firefox/src/extension/install.rdf +1 -1
  120. data/firefox/src/rb/lib/selenium/webdriver/firefox.rb +3 -2
  121. data/firefox/src/rb/lib/selenium/webdriver/firefox/binary.rb +1 -7
  122. data/firefox/src/rb/lib/selenium/webdriver/firefox/bridge.rb +11 -4
  123. data/firefox/src/rb/lib/selenium/webdriver/firefox/profile.rb +56 -15
  124. data/firefox/src/rb/lib/selenium/webdriver/firefox/util.rb +1 -1
  125. data/jobbie/prebuilt/Win32/Release/InternetExplorerDriver.dll +0 -0
  126. data/jobbie/prebuilt/x64/Release/InternetExplorerDriver.dll +0 -0
  127. data/jobbie/src/rb/lib/selenium/webdriver/ie/bridge.rb +10 -5
  128. data/jobbie/src/rb/lib/selenium/webdriver/ie/util.rb +9 -10
  129. data/remote/client/src/rb/lib/selenium/webdriver/remote/bridge.rb +4 -2
  130. data/remote/client/src/rb/lib/selenium/webdriver/remote/capabilities.rb +23 -23
  131. metadata +103 -6
  132. data/jobbie/prebuilt/Win32/Release/webdriver-ie-test.dll +0 -0
  133. data/jobbie/prebuilt/Win32/Release/webdriver-ie.dll +0 -0
  134. data/jobbie/prebuilt/x64/Release/webdriver-ie-test.dll +0 -0
  135. data/jobbie/prebuilt/x64/Release/webdriver-ie.dll +0 -0
@@ -23,12 +23,6 @@ module Selenium
23
23
 
24
24
  def start_with(profile, *args)
25
25
  ENV['XRE_PROFILE_PATH'] = profile.absolute_path
26
-
27
- # TODO: native lib loading
28
- # if Platform.os == :unix && (profile.enable_native_events || profile.always_load_no_focus_lib)
29
- # modify_link_library_path profile
30
- # end
31
-
32
26
  execute(*args)
33
27
  cope_with_mac_strangeness(args) if Platform.mac?
34
28
  end
@@ -74,7 +68,7 @@ module Selenium
74
68
  "/Applications/Firefox.app/Contents/MacOS/firefox-bin"
75
69
  when :windows
76
70
  windows_path
77
- when :unix
71
+ when :linux, :unix
78
72
  "/usr/bin/firefox"
79
73
  else
80
74
  raise "Unknown platform: #{Platform.os}"
@@ -35,6 +35,10 @@ module Selenium
35
35
  execute :getPageSource
36
36
  end
37
37
 
38
+ def refresh
39
+ execute :refresh
40
+ end
41
+
38
42
  def getWindowHandles
39
43
  execute :getWindowHandles
40
44
  end
@@ -181,13 +185,16 @@ module Selenium
181
185
  # data = execute :getElementLocation, :element_id => element
182
186
  data = execute :getLocation,
183
187
  :element_id => element
184
- Point.new(data["x"], data["y"])
188
+
189
+ Point.new data["x"], data["y"]
185
190
  end
186
191
 
187
192
  def getElementSize(element)
188
193
  # execute :getElementSize, :element_id => element
189
- execute :getSize,
190
- :element_id => element
194
+ data = execute :getSize,
195
+ :element_id => element
196
+
197
+ Dimension.new data['width'], data['height']
191
198
  end
192
199
 
193
200
  def sendKeysToElement(element, string)
@@ -245,7 +252,7 @@ module Selenium
245
252
  :parameters => [prop]
246
253
  end
247
254
 
248
- def hoverOverElement
255
+ def hoverOverElement(element)
249
256
  execute :hover,
250
257
  :element_id => element
251
258
  # execute :hoverOverElement, :element_id => element
@@ -6,22 +6,32 @@ module Selenium
6
6
  ANONYMOUS_PROFILE_NAME = "WEBDRIVER_ANONYMOUS_PROFILE"
7
7
  EXTENSION_NAME = "fxdriver@googlecode.com"
8
8
  EM_NAMESPACE_URI = "http://www.mozilla.org/2004/em-rdf#"
9
+ NO_FOCUS_LIBRARY_NAME = "x_ignore_nofocus.so"
9
10
 
10
- # TODO: hardcoded paths
11
11
  DEFAULT_EXTENSION_SOURCE = File.expand_path("#{WebDriver.root}/firefox/src/extension")
12
12
 
13
- XPTS = {
14
- "#{WebDriver.root}/firefox/prebuilt/nsINativeEvents.xpt" => "components/nsINativeEvents.xpt",
15
- "#{WebDriver.root}/firefox/prebuilt/nsICommandProcessor.xpt" => "components/nsICommandProcessor.xpt",
16
- "#{WebDriver.root}/firefox/prebuilt/nsIResponseHandler.xpt" => "components/nsIResponseHandler.xpt"
17
- }
13
+ XPTS = [
14
+ ["#{WebDriver.root}/firefox/prebuilt/nsINativeEvents.xpt", "components/nsINativeEvents.xpt"],
15
+ ["#{WebDriver.root}/firefox/prebuilt/nsICommandProcessor.xpt", "components/nsICommandProcessor.xpt"],
16
+ ["#{WebDriver.root}/firefox/prebuilt/nsIResponseHandler.xpt", "components/nsIResponseHandler.xpt"],
17
+ ]
18
18
 
19
- SHARED = {
20
- "#{WebDriver.root}/common/src/js/extension/dommessenger.js" => "content/dommessenger.js"
19
+ NATIVE = {
20
+ :windows => ["#{WebDriver.root}/firefox/prebuilt/Win32/Release/webdriver-firefox.dll", "platform/WINNT_x86-msvc/components/webdriver-firefox.dll"],
21
+ :linux => ["#{WebDriver.root}/firefox/prebuilt/linux64/Release/libwebdriver-firefox.so", "platform/Linux/components/libwebdriver-firefox.so"]
21
22
  }
22
23
 
24
+ NO_FOCUS = [
25
+ ["#{WebDriver.root}/firefox/prebuilt/linux64/Release/x_ignore_nofocus.so" , "amd64/x_ignore_nofocus.so"],
26
+ ["#{WebDriver.root}/firefox/prebuilt/linux/Release/x_ignore_nofocus.so" , "x86/x_ignore_nofocus.so"],
27
+ ]
28
+
29
+ SHARED = [
30
+ ["#{WebDriver.root}/common/src/js/extension/dommessenger.js", "content/dommessenger.js"]
31
+ ]
32
+
23
33
  attr_reader :name, :directory
24
- attr_accessor :port, :secure_ssl
34
+ attr_accessor :port, :secure_ssl, :native_events, :load_no_focus_lib
25
35
 
26
36
  class << self
27
37
 
@@ -60,7 +70,8 @@ module Selenium
60
70
  def update_user_prefs
61
71
  prefs = existing_user_prefs.merge DEFAULT_PREFERENCES
62
72
  prefs['webdriver.firefox_port'] = @port
63
- prefs['webdriver_accept_untrusted_certs'] = "true" unless @secure_ssl == true
73
+ prefs['webdriver_accept_untrusted_certs'] = 'true' unless @secure_ssl == true
74
+ prefs['webdriver_enable_native_events'] = 'true' if native_events?
64
75
 
65
76
  write_prefs prefs
66
77
  end
@@ -76,12 +87,22 @@ module Selenium
76
87
  FileUtils.mkdir_p File.dirname(ext_path), :mode => 0700
77
88
  FileUtils.cp_r @extension_source, ext_path
78
89
 
79
- XPTS.each do |source, destination|
80
- FileUtils.cp source, File.join(ext_path, destination)
90
+ from_to = XPTS + SHARED
91
+
92
+ if native_events?
93
+ from_to << (NATIVE[Platform.os] || raise(Error::WebDriverError,
94
+ "can't enable native events on #{Platform.os.inspect}"))
81
95
  end
82
96
 
83
- SHARED.each do |source, destination|
84
- FileUtils.cp source, File.join(ext_path, destination)
97
+ if Platform.os == :linux || load_no_focus_lib?
98
+ from_to += NO_FOCUS
99
+ modify_link_library_path(NO_FOCUS.map { |source, dest| File.join(ext_path, dest) })
100
+ end
101
+
102
+ from_to.each do |source, destination|
103
+ dest = File.join(ext_path, destination)
104
+ FileUtils.mkdir_p File.dirname(dest)
105
+ FileUtils.cp source, dest
85
106
  end
86
107
 
87
108
  delete_extensions_cache
@@ -111,10 +132,30 @@ module Selenium
111
132
  end
112
133
 
113
134
  def delete_extensions_cache
114
- cache = File.join(@directory, "extensions.cache")
135
+ cache = File.join(directory, "extensions.cache")
115
136
  FileUtils.rm_f cache if File.exist?(cache)
116
137
  end
117
138
 
139
+ def modify_link_library_path(paths)
140
+ old_path = ENV['LD_LIBRARY_PATH']
141
+
142
+ unless [nil, ''].include?(old_path)
143
+ paths << old_path
144
+ end
145
+
146
+ ENV['LD_LIBRARY_PATH'] = paths.join(File::PATH_SEPARATOR)
147
+ ENV['LD_PRELOAD'] = NO_FOCUS_LIBRARY_NAME
148
+ end
149
+
150
+ def native_events?
151
+ !!(@native_events ||= Firefox::DEFAULT_ENABLE_NATIVE_EVENTS)
152
+ end
153
+
154
+ def load_no_focus_lib?
155
+ !!(@load_no_focus_lib ||= false)
156
+ end
157
+
158
+
118
159
  private
119
160
 
120
161
  def existing_user_prefs
@@ -10,7 +10,7 @@ module Selenium
10
10
  "#{ENV['APPDATA']}\\Mozilla\\Firefox"
11
11
  when :macosx
12
12
  "#{Platform.home}/Library/Application Support/Firefox"
13
- when :unix
13
+ when :unix, :linux
14
14
  "#{Platform.home}/.mozilla/firefox"
15
15
  else
16
16
  raise "Unknown os: #{Platform.os}"
@@ -92,8 +92,11 @@ module Selenium
92
92
 
93
93
  def quit
94
94
  getWindowHandles.each do |handle|
95
- switch_to_window handle rescue nil # TODO: rescue specific exceptions
96
- close
95
+ begin
96
+ switchToWindow handle
97
+ close
98
+ rescue Error::NoSuchWindowError
99
+ end
97
100
  end
98
101
 
99
102
  # hack
@@ -107,6 +110,10 @@ module Selenium
107
110
  check_error_code Lib.wdClose(@driver_pointer), "Unable to close driver"
108
111
  end
109
112
 
113
+ def refresh
114
+ raise Error::UnsupportedOperationError
115
+ end
116
+
110
117
  def getWindowHandles
111
118
  raw_handles = FFI::MemoryPointer.new :pointer
112
119
  check_error_code Lib.wdGetAllWindowHandles(@driver_pointer, raw_handles),
@@ -167,8 +174,6 @@ module Selenium
167
174
  check_error_code Lib.wdGetCookies(@driver_pointer, wrapper), "Unable to get cookies"
168
175
  end
169
176
 
170
- p :cookie_string => str
171
-
172
177
  str.split("; ").map do |cookie_string|
173
178
  parts = cookie_string.split("=")
174
179
  next unless parts.size == 2
@@ -412,7 +417,7 @@ module Selenium
412
417
  end
413
418
  end
414
419
 
415
- def hoverOverElement
420
+ def hoverOverElement(element_pointer)
416
421
  raise NotImplementedError
417
422
  end
418
423
 
@@ -12,12 +12,11 @@ module Selenium
12
12
 
13
13
  def string_array_from(raw_strings)
14
14
  strings_ptr = raw_strings.get_pointer(0)
15
-
16
- length_ptr = FFI::MemoryPointer.new :int
17
- result = Lib.wdcGetStringCollectionLength(strings_ptr, length_ptr)
15
+ length_ptr = FFI::MemoryPointer.new :int
16
+ result = Lib.wdcGetStringCollectionLength(strings_ptr, length_ptr)
18
17
 
19
18
  if result != 0
20
- raise "Cannot extract strings from collection, error code: #{result.inspect}"
19
+ raise Error::WebDriverError, "cannot extract strings from collection, error code: #{result.inspect}"
21
20
  end
22
21
 
23
22
  arr = []
@@ -27,7 +26,7 @@ module Selenium
27
26
  result = Lib.wdcGetStringAtIndex(strings_ptr, idx, str_ptr_ref)
28
27
 
29
28
  if result != 0
30
- raise "Unable to get string at index: #{idx}, error: #{result}"
29
+ raise Error::WebDriverError, "unable to get string at index: #{idx}, error: #{result}"
31
30
  end
32
31
 
33
32
  arr << extract_string_from(str_ptr_ref)
@@ -67,16 +66,16 @@ module Selenium
67
66
  length_ptr = FFI::MemoryPointer.new :int
68
67
 
69
68
  if Lib.wdStringLength(string_ptr, length_ptr) != 0
70
- raise "Cannot determine length of string"
69
+ raise Error::WebDriverError, "cannot determine length of string"
71
70
  end
72
71
 
73
72
  length = length_ptr.get_int(0)
74
73
  raw_string = wstring_ptr(" "*length)
75
74
 
76
75
  if Lib.wdCopyString(string_ptr, length, raw_string) != 0
77
- raise "Cannot copy string from native data to Ruby string"
76
+ raise Error::WebDriverError, "cannot copy string from native data to Ruby string"
78
77
  end
79
- #
78
+
80
79
  wstring_to_bytestring raw_string
81
80
  ensure
82
81
  Lib.wdFreeString(string_ptr)
@@ -117,7 +116,7 @@ module Selenium
117
116
  size = Kernel32.MultiByteToWideChar(CP_UTF8, 0, str, -1, nil, 0)
118
117
 
119
118
  unless size > 0
120
- raise "Could not convert #{str.inspect} to wchar ptr"
119
+ raise Error::WebDriverError, "could not convert #{str.inspect} to wchar ptr"
121
120
  end
122
121
 
123
122
  buf = FFI::MemoryPointer.new :pointer, size
@@ -130,7 +129,7 @@ module Selenium
130
129
  size = Kernel32.WideCharToMultiByte(CP_UTF8, 0, wstring, -1, nil, 0, nil, nil)
131
130
 
132
131
  unless size > 0
133
- raise "Could not convert wstring pointer to bytestring"
132
+ raise Error::WebDriverError, "could not convert wstring pointer to bytestring"
134
133
  end
135
134
 
136
135
  buf = FFI::MemoryPointer.new :pointer, size
@@ -260,7 +260,9 @@ module Selenium
260
260
  end
261
261
 
262
262
  def getElementSize(element)
263
- execute :getElementSize, :id => element
263
+ data = execute :getElementSize, :id => element
264
+
265
+ Dimension.new data['width'], data['height']
264
266
  end
265
267
 
266
268
  def sendKeysToElement(element, string)
@@ -304,7 +306,7 @@ module Selenium
304
306
  end
305
307
  alias_method :switchToActiveElement, :getActiveElement
306
308
 
307
- def hoverOverElement
309
+ def hoverOverElement(element)
308
310
  execute :hoverOverElement, :id => element
309
311
  end
310
312
 
@@ -6,14 +6,6 @@ module Selenium
6
6
  # Specification of the desired and/or actual capabilities of the browser that the
7
7
  # server is being asked to create.
8
8
  #
9
- # @option browser_name [String] required browser name
10
- # @option version [String] required browser version number
11
- # @option platform [Symbol] one of :any, :win, :mac, or :x
12
- # @option javascript_enabled [Boolean] should the test run with javascript enabled?
13
- #
14
- # @api public
15
- #
16
-
17
9
  class Capabilities
18
10
 
19
11
  attr_accessor :browser_name, :version, :platform, :javascript_enabled
@@ -64,8 +56,29 @@ module Selenium
64
56
  :javascript_enabled => true
65
57
  }.merge(opts))
66
58
  end
59
+
60
+ #
61
+ # @api private
62
+ #
63
+
64
+ def json_create(data)
65
+ new(
66
+ :browser_name => data["browserName"],
67
+ :version => data["version"],
68
+ :platform => data["platform"].downcase.to_sym,
69
+ :javascript_enabled => data["javascriptEnabled"]
70
+ )
71
+ end
67
72
  end
68
73
 
74
+ # @option browser_name [String] required browser name
75
+ # @option version [String] required browser version number
76
+ # @option platform [Symbol] one of :any, :win, :mac, or :x
77
+ # @option javascript_enabled [Boolean] should the test run with javascript enabled?
78
+ #
79
+ # @api public
80
+ #
81
+
69
82
  def initialize(opts = {})
70
83
  @browser_name = opts[:browser_name] || ""
71
84
  @version = opts[:version] || ""
@@ -77,26 +90,13 @@ module Selenium
77
90
  # @api private
78
91
  #
79
92
 
80
- def self.json_create(data)
81
- new(
82
- :browser_name => data["browserName"],
83
- :version => data["version"],
84
- :platform => data["platform"].downcase.to_sym,
85
- :javascript_enabled => data["javascriptEnabled"]
86
- )
87
- end
88
-
89
- #
90
- # @api private
91
- #
92
-
93
- def to_json
93
+ def to_json(*args)
94
94
  {
95
95
  "browserName" => browser_name,
96
96
  "version" => version,
97
97
  "platform" => platform.to_s.upcase,
98
98
  "javascriptEnabled" => javascript?
99
- }.to_json
99
+ }.to_json(*args)
100
100
  end
101
101
 
102
102
  end # Capabilities
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: selenium-webdriver
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 0.0.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jari Bakken
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-12-09 00:00:00 +01:00
12
+ date: 2009-12-14 00:00:00 +01:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -77,15 +77,111 @@ files:
77
77
  - common/src/rb/lib/selenium/webdriver/target_locator.rb
78
78
  - common/src/rb/lib/selenium/webdriver.rb
79
79
  - common/src/rb/lib/selenium-webdriver.rb
80
+ - common/src/rb/README
80
81
  - common/src/js/abstractcommandprocessor.js
81
82
  - common/src/js/asserts.js
82
83
  - common/src/js/by.js
83
84
  - common/src/js/command.js
84
85
  - common/src/js/context.js
86
+ - common/src/js/core/Blank.html
87
+ - common/src/js/core/icons/all.png
88
+ - common/src/js/core/icons/continue.png
89
+ - common/src/js/core/icons/continue_disabled.png
90
+ - common/src/js/core/icons/pause.png
91
+ - common/src/js/core/icons/pause_disabled.png
92
+ - common/src/js/core/icons/selected.png
93
+ - common/src/js/core/icons/step.png
94
+ - common/src/js/core/icons/step_disabled.png
95
+ - common/src/js/core/InjectedRemoteRunner.html
96
+ - common/src/js/core/lib/cssQuery/cssQuery-p.js
97
+ - common/src/js/core/lib/cssQuery/src/cssQuery-level2.js
98
+ - common/src/js/core/lib/cssQuery/src/cssQuery-level3.js
99
+ - common/src/js/core/lib/cssQuery/src/cssQuery-standard.js
100
+ - common/src/js/core/lib/cssQuery/src/cssQuery.js
101
+ - common/src/js/core/lib/prototype.js
102
+ - common/src/js/core/lib/scriptaculous/builder.js
103
+ - common/src/js/core/lib/scriptaculous/controls.js
104
+ - common/src/js/core/lib/scriptaculous/dragdrop.js
105
+ - common/src/js/core/lib/scriptaculous/effects.js
106
+ - common/src/js/core/lib/scriptaculous/scriptaculous.js
107
+ - common/src/js/core/lib/scriptaculous/slider.js
108
+ - common/src/js/core/lib/scriptaculous/unittest.js
109
+ - common/src/js/core/lib/snapsie.js
110
+ - common/src/js/core/RemoteRunner.html
111
+ - common/src/js/core/scripts/find_matching_child.js
112
+ - common/src/js/core/scripts/htmlutils.js
113
+ - common/src/js/core/scripts/injection.html
114
+ - common/src/js/core/scripts/selenium-api.js
115
+ - common/src/js/core/scripts/selenium-browserbot.js
116
+ - common/src/js/core/scripts/selenium-browserdetect.js
117
+ - common/src/js/core/scripts/selenium-commandhandlers.js
118
+ - common/src/js/core/scripts/selenium-executionloop.js
119
+ - common/src/js/core/scripts/selenium-logging.js
120
+ - common/src/js/core/scripts/selenium-remoterunner.js
121
+ - common/src/js/core/scripts/selenium-testrunner.js
122
+ - common/src/js/core/scripts/selenium-version.js
123
+ - common/src/js/core/scripts/ui-doc.html
124
+ - common/src/js/core/scripts/ui-element.js
125
+ - common/src/js/core/scripts/ui-map-sample.js
126
+ - common/src/js/core/scripts/user-extensions.js
127
+ - common/src/js/core/scripts/user-extensions.js.sample
128
+ - common/src/js/core/scripts/xmlextras.js
129
+ - common/src/js/core/selenium-logo.png
130
+ - common/src/js/core/selenium-test.css
131
+ - common/src/js/core/selenium.css
132
+ - common/src/js/core/SeleniumLog.html
133
+ - common/src/js/core/TestPrompt.html
134
+ - common/src/js/core/TestRunner-splash.html
135
+ - common/src/js/core/TestRunner.html
136
+ - common/src/js/core/xpath/dom.js
137
+ - common/src/js/core/xpath/javascript-xpath-0.1.11.js
138
+ - common/src/js/core/xpath/util.js
139
+ - common/src/js/core/xpath/xmltoken.js
140
+ - common/src/js/core/xpath/xpath.js
85
141
  - common/src/js/extension/dommessenger.js
86
142
  - common/src/js/extension/README
87
143
  - common/src/js/factory.js
88
144
  - common/src/js/future.js
145
+ - common/src/js/jsunit/app/css/jsUnitStyle.css
146
+ - common/src/js/jsunit/app/css/readme
147
+ - common/src/js/jsunit/app/emptyPage.html
148
+ - common/src/js/jsunit/app/jsUnitCore.js
149
+ - common/src/js/jsunit/app/jsUnitMockTimeout.js
150
+ - common/src/js/jsunit/app/jsUnitTestManager.js
151
+ - common/src/js/jsunit/app/jsUnitTestSuite.js
152
+ - common/src/js/jsunit/app/jsUnitTracer.js
153
+ - common/src/js/jsunit/app/jsUnitVersionCheck.js
154
+ - common/src/js/jsunit/app/main-counts-errors.html
155
+ - common/src/js/jsunit/app/main-counts-failures.html
156
+ - common/src/js/jsunit/app/main-counts-runs.html
157
+ - common/src/js/jsunit/app/main-counts.html
158
+ - common/src/js/jsunit/app/main-data.html
159
+ - common/src/js/jsunit/app/main-errors.html
160
+ - common/src/js/jsunit/app/main-frame.html
161
+ - common/src/js/jsunit/app/main-loader.html
162
+ - common/src/js/jsunit/app/main-progress.html
163
+ - common/src/js/jsunit/app/main-results.html
164
+ - common/src/js/jsunit/app/main-status.html
165
+ - common/src/js/jsunit/app/testContainer.html
166
+ - common/src/js/jsunit/app/testContainerController.html
167
+ - common/src/js/jsunit/app/xbDebug.js
168
+ - common/src/js/jsunit/changelog.txt
169
+ - common/src/js/jsunit/css/jsUnitStyle.css
170
+ - common/src/js/jsunit/images/green.gif
171
+ - common/src/js/jsunit/images/logo_jsunit.gif
172
+ - common/src/js/jsunit/images/powerby-transparent.gif
173
+ - common/src/js/jsunit/images/red.gif
174
+ - common/src/js/jsunit/licenses/gpl-2.txt
175
+ - common/src/js/jsunit/licenses/index.html
176
+ - common/src/js/jsunit/licenses/JDOM_license.txt
177
+ - common/src/js/jsunit/licenses/Jetty_license.html
178
+ - common/src/js/jsunit/licenses/lgpl-2.1.txt
179
+ - common/src/js/jsunit/licenses/MPL-1.1.txt
180
+ - common/src/js/jsunit/licenses/mpl-tri-license-c.txt
181
+ - common/src/js/jsunit/licenses/mpl-tri-license-html.txt
182
+ - common/src/js/jsunit/readme.txt
183
+ - common/src/js/jsunit/testRunner.html
184
+ - common/src/js/jsunit/version.txt
89
185
  - common/src/js/jsunit.js
90
186
  - common/src/js/key.js
91
187
  - common/src/js/localcommandprocessor.js
@@ -121,9 +217,14 @@ files:
121
217
  - firefox/src/extension/idl/nsICommandProcessor.idl
122
218
  - firefox/src/extension/idl/nsIResponseHandler.idl
123
219
  - firefox/src/extension/install.rdf
220
+ - firefox/prebuilt/linux/Release/libwebdriver-firefox.so
221
+ - firefox/prebuilt/linux/Release/x_ignore_nofocus.so
222
+ - firefox/prebuilt/linux64/Release/libwebdriver-firefox.so
223
+ - firefox/prebuilt/linux64/Release/x_ignore_nofocus.so
124
224
  - firefox/prebuilt/nsICommandProcessor.xpt
125
225
  - firefox/prebuilt/nsINativeEvents.xpt
126
226
  - firefox/prebuilt/nsIResponseHandler.xpt
227
+ - firefox/prebuilt/Win32/Release/webdriver-firefox.dll
127
228
  - chrome/src/rb/lib/selenium/webdriver/chrome/bridge.rb
128
229
  - chrome/src/rb/lib/selenium/webdriver/chrome/command_executor.rb
129
230
  - chrome/src/rb/lib/selenium/webdriver/chrome/launcher.rb
@@ -143,11 +244,7 @@ files:
143
244
  - jobbie/src/rb/lib/selenium/webdriver/ie/util.rb
144
245
  - jobbie/src/rb/lib/selenium/webdriver/ie.rb
145
246
  - jobbie/prebuilt/Win32/Release/InternetExplorerDriver.dll
146
- - jobbie/prebuilt/Win32/Release/webdriver-ie-test.dll
147
- - jobbie/prebuilt/Win32/Release/webdriver-ie.dll
148
247
  - jobbie/prebuilt/x64/Release/InternetExplorerDriver.dll
149
- - jobbie/prebuilt/x64/Release/webdriver-ie-test.dll
150
- - jobbie/prebuilt/x64/Release/webdriver-ie.dll
151
248
  - remote/client/src/rb/lib/selenium/webdriver/remote/bridge.rb
152
249
  - remote/client/src/rb/lib/selenium/webdriver/remote/capabilities.rb
153
250
  - remote/client/src/rb/lib/selenium/webdriver/remote/commands.rb