selenium-webdriver 0.0.9 → 0.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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