selenium-webdriver 2.53.4 → 3.8.0

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 (152) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGES +363 -10
  3. data/LICENSE +1 -1
  4. data/README.md +2 -3
  5. data/lib/selenium-webdriver.rb +0 -2
  6. data/lib/selenium/server.rb +69 -70
  7. data/lib/selenium/webdriver.rb +32 -23
  8. data/lib/selenium/webdriver/atoms.rb +18 -0
  9. data/lib/selenium/webdriver/atoms/getAttribute.js +8 -0
  10. data/lib/selenium/webdriver/chrome.rb +8 -6
  11. data/lib/selenium/webdriver/chrome/driver.rb +112 -0
  12. data/lib/selenium/webdriver/chrome/options.rb +168 -0
  13. data/lib/selenium/webdriver/chrome/profile.rb +17 -17
  14. data/lib/selenium/webdriver/chrome/service.rb +22 -89
  15. data/lib/selenium/webdriver/common.rb +13 -6
  16. data/lib/selenium/webdriver/common/action_builder.rb +49 -57
  17. data/lib/selenium/webdriver/common/alert.rb +5 -15
  18. data/lib/selenium/webdriver/common/bridge_helper.rb +10 -17
  19. data/lib/selenium/webdriver/common/driver.rb +53 -68
  20. data/lib/selenium/webdriver/common/driver_extensions/{has_input_devices.rb → has_addons.rb} +13 -23
  21. data/lib/selenium/webdriver/common/driver_extensions/has_location.rb +4 -8
  22. data/lib/selenium/webdriver/common/driver_extensions/has_network_connection.rb +4 -7
  23. data/lib/selenium/webdriver/common/driver_extensions/has_remote_status.rb +0 -4
  24. data/lib/selenium/webdriver/common/driver_extensions/has_session_id.rb +0 -4
  25. data/lib/selenium/webdriver/common/driver_extensions/has_touch_screen.rb +1 -5
  26. data/lib/selenium/webdriver/common/driver_extensions/has_web_storage.rb +0 -5
  27. data/lib/selenium/webdriver/common/driver_extensions/rotatable.rb +4 -9
  28. data/lib/selenium/webdriver/common/driver_extensions/takes_screenshot.rb +7 -7
  29. data/lib/selenium/webdriver/common/driver_extensions/uploads_files.rb +2 -7
  30. data/lib/selenium/webdriver/common/element.rb +57 -39
  31. data/lib/selenium/webdriver/common/error.rb +204 -106
  32. data/lib/selenium/webdriver/common/file_reaper.rb +3 -11
  33. data/lib/selenium/webdriver/common/html5/local_storage.rb +6 -10
  34. data/lib/selenium/webdriver/common/html5/session_storage.rb +6 -10
  35. data/lib/selenium/webdriver/common/html5/shared_web_storage.rb +7 -18
  36. data/lib/selenium/webdriver/{safari/options.rb → common/interactions/input_device.rb} +20 -31
  37. data/lib/selenium/webdriver/common/interactions/interaction.rb +50 -0
  38. data/lib/selenium/webdriver/{safari/browser.rb → common/interactions/interactions.rb} +16 -15
  39. data/lib/selenium/webdriver/common/interactions/key_actions.rb +143 -0
  40. data/lib/selenium/webdriver/common/interactions/key_input.rb +62 -0
  41. data/lib/selenium/webdriver/{android.rb → common/interactions/none_input.rb} +11 -6
  42. data/lib/selenium/webdriver/common/interactions/pointer_actions.rb +353 -0
  43. data/lib/selenium/webdriver/common/interactions/pointer_input.rb +132 -0
  44. data/lib/selenium/webdriver/common/keyboard.rb +7 -14
  45. data/lib/selenium/webdriver/common/keys.rb +99 -82
  46. data/lib/selenium/webdriver/common/log_entry.rb +3 -6
  47. data/lib/selenium/webdriver/common/logger.rb +140 -0
  48. data/lib/selenium/webdriver/common/logs.rb +2 -6
  49. data/lib/selenium/webdriver/common/mouse.rb +9 -14
  50. data/lib/selenium/webdriver/common/navigation.rb +2 -6
  51. data/lib/selenium/webdriver/common/options.rb +20 -23
  52. data/lib/selenium/webdriver/common/platform.rb +70 -97
  53. data/lib/selenium/webdriver/common/port_prober.rb +3 -4
  54. data/lib/selenium/webdriver/common/profile_helper.rb +6 -11
  55. data/lib/selenium/webdriver/common/proxy.rb +58 -72
  56. data/lib/selenium/webdriver/common/search_context.rb +22 -29
  57. data/lib/selenium/webdriver/common/service.rb +161 -0
  58. data/lib/selenium/webdriver/common/socket_lock.rb +6 -14
  59. data/lib/selenium/webdriver/common/socket_poller.rb +5 -12
  60. data/lib/selenium/webdriver/common/target_locator.rb +11 -15
  61. data/lib/selenium/webdriver/common/timeouts.rb +4 -8
  62. data/lib/selenium/webdriver/common/touch_action_builder.rb +2 -6
  63. data/lib/selenium/webdriver/common/touch_screen.rb +19 -23
  64. data/lib/selenium/webdriver/common/w3c_action_builder.rb +209 -0
  65. data/lib/selenium/webdriver/{phantomjs.rb → common/w3c_options.rb} +16 -14
  66. data/lib/selenium/webdriver/common/wait.rb +6 -13
  67. data/lib/selenium/webdriver/common/window.rb +48 -17
  68. data/lib/selenium/webdriver/common/zipper.rb +6 -10
  69. data/lib/selenium/webdriver/edge.rb +5 -12
  70. data/lib/selenium/webdriver/edge/bridge.rb +32 -63
  71. data/lib/selenium/webdriver/edge/driver.rb +73 -0
  72. data/lib/selenium/webdriver/edge/service.rb +18 -87
  73. data/lib/selenium/webdriver/firefox.rb +20 -11
  74. data/lib/selenium/webdriver/firefox/binary.rb +40 -56
  75. data/lib/selenium/webdriver/firefox/driver.rb +48 -0
  76. data/lib/selenium/webdriver/firefox/extension.rb +18 -8
  77. data/lib/selenium/webdriver/firefox/extension/prefs.json +3 -11
  78. data/lib/selenium/webdriver/firefox/extension/webdriver.xpi +0 -0
  79. data/lib/selenium/webdriver/firefox/launcher.rb +13 -22
  80. data/lib/selenium/webdriver/firefox/legacy/driver.rb +79 -0
  81. data/lib/selenium/webdriver/{iphone.rb → firefox/marionette/bridge.rb} +25 -6
  82. data/lib/selenium/webdriver/firefox/marionette/driver.rb +96 -0
  83. data/lib/selenium/webdriver/firefox/options.rb +149 -0
  84. data/lib/selenium/webdriver/firefox/profile.rb +46 -46
  85. data/lib/selenium/webdriver/firefox/profiles_ini.rb +8 -18
  86. data/lib/selenium/webdriver/firefox/service.rb +23 -83
  87. data/lib/selenium/webdriver/firefox/util.rb +0 -4
  88. data/lib/selenium/webdriver/ie.rb +4 -8
  89. data/lib/selenium/webdriver/ie/driver.rb +90 -0
  90. data/lib/selenium/webdriver/ie/options.rb +136 -0
  91. data/lib/selenium/webdriver/ie/service.rb +58 -0
  92. data/lib/selenium/webdriver/remote.rb +8 -16
  93. data/lib/selenium/webdriver/remote/bridge.rb +96 -565
  94. data/lib/selenium/webdriver/remote/capabilities.rb +76 -94
  95. data/lib/selenium/webdriver/remote/driver.rb +49 -0
  96. data/lib/selenium/webdriver/remote/http/common.rb +22 -20
  97. data/lib/selenium/webdriver/remote/http/curb.rb +9 -12
  98. data/lib/selenium/webdriver/remote/http/default.rb +54 -41
  99. data/lib/selenium/webdriver/remote/http/persistent.rb +9 -8
  100. data/lib/selenium/webdriver/remote/oss/bridge.rb +586 -0
  101. data/lib/selenium/webdriver/remote/oss/commands.rb +221 -0
  102. data/lib/selenium/webdriver/remote/response.rb +39 -27
  103. data/lib/selenium/webdriver/remote/server_error.rb +1 -5
  104. data/lib/selenium/webdriver/remote/w3c/bridge.rb +573 -0
  105. data/lib/selenium/webdriver/remote/w3c/capabilities.rb +290 -0
  106. data/lib/selenium/webdriver/remote/w3c/commands.rb +148 -0
  107. data/lib/selenium/webdriver/safari.rb +20 -29
  108. data/lib/selenium/webdriver/{firefox/w3c_bridge.rb → safari/driver.rb} +21 -30
  109. data/lib/selenium/webdriver/safari/service.rb +57 -0
  110. data/lib/selenium/webdriver/support.rb +1 -2
  111. data/lib/selenium/webdriver/support/abstract_event_listener.rb +17 -4
  112. data/lib/selenium/webdriver/support/block_event_listener.rb +1 -5
  113. data/lib/selenium/webdriver/support/color.rb +57 -42
  114. data/lib/selenium/webdriver/support/escaper.rb +41 -0
  115. data/lib/selenium/webdriver/support/event_firing_bridge.rb +36 -40
  116. data/lib/selenium/webdriver/support/select.rb +33 -86
  117. data/selenium-webdriver.gemspec +22 -25
  118. metadata +254 -261
  119. data/lib/selenium-client.rb +0 -21
  120. data/lib/selenium/client.rb +0 -57
  121. data/lib/selenium/client/base.rb +0 -151
  122. data/lib/selenium/client/driver.rb +0 -29
  123. data/lib/selenium/client/errors.rb +0 -28
  124. data/lib/selenium/client/extensions.rb +0 -132
  125. data/lib/selenium/client/idiomatic.rb +0 -507
  126. data/lib/selenium/client/javascript_expression_builder.rb +0 -135
  127. data/lib/selenium/client/javascript_frameworks/jquery.rb +0 -32
  128. data/lib/selenium/client/javascript_frameworks/prototype.rb +0 -32
  129. data/lib/selenium/client/legacy_driver.rb +0 -1722
  130. data/lib/selenium/client/protocol.rb +0 -123
  131. data/lib/selenium/client/selenium_helper.rb +0 -49
  132. data/lib/selenium/rake/server_task.rb +0 -176
  133. data/lib/selenium/webdriver/android/bridge.rb +0 -68
  134. data/lib/selenium/webdriver/chrome/bridge.rb +0 -139
  135. data/lib/selenium/webdriver/common/core_ext/base64.rb +0 -28
  136. data/lib/selenium/webdriver/common/core_ext/dir.rb +0 -61
  137. data/lib/selenium/webdriver/common/html5/location.rb +0 -19
  138. data/lib/selenium/webdriver/common/w3c_error.rb +0 -194
  139. data/lib/selenium/webdriver/edge/legacy_support.rb +0 -117
  140. data/lib/selenium/webdriver/firefox/bridge.rb +0 -89
  141. data/lib/selenium/webdriver/ie/bridge.rb +0 -88
  142. data/lib/selenium/webdriver/ie/server.rb +0 -133
  143. data/lib/selenium/webdriver/iphone/bridge.rb +0 -64
  144. data/lib/selenium/webdriver/phantomjs/bridge.rb +0 -78
  145. data/lib/selenium/webdriver/phantomjs/service.rb +0 -130
  146. data/lib/selenium/webdriver/remote/commands.rb +0 -211
  147. data/lib/selenium/webdriver/remote/w3c_bridge.rb +0 -668
  148. data/lib/selenium/webdriver/remote/w3c_capabilities.rb +0 -236
  149. data/lib/selenium/webdriver/remote/w3c_commands.rb +0 -132
  150. data/lib/selenium/webdriver/safari/bridge.rb +0 -135
  151. data/lib/selenium/webdriver/safari/resources/client.js +0 -7255
  152. data/lib/selenium/webdriver/safari/server.rb +0 -187
@@ -1,5 +1,3 @@
1
- # encoding: utf-8
2
- #
3
1
  # Licensed to the Software Freedom Conservancy (SFC) under one
4
2
  # or more contributor license agreements. See the NOTICE file
5
3
  # distributed with this work for additional information
@@ -21,7 +19,6 @@ module Selenium
21
19
  module WebDriver
22
20
  module Support
23
21
  class Select
24
-
25
22
  #
26
23
  # @param [Element] element The select element to use
27
24
  #
@@ -29,12 +26,12 @@ module Selenium
29
26
  def initialize(element)
30
27
  tag_name = element.tag_name
31
28
 
32
- unless tag_name.downcase == "select"
29
+ unless tag_name.casecmp('select').zero?
33
30
  raise ArgumentError, "unexpected tag name #{tag_name.inspect}"
34
31
  end
35
32
 
36
33
  @element = element
37
- @multi = ![nil, "false"].include?(element.attribute(:multiple))
34
+ @multi = ![nil, 'false'].include?(element.attribute(:multiple))
38
35
  end
39
36
 
40
37
  #
@@ -54,7 +51,7 @@ module Selenium
54
51
  #
55
52
 
56
53
  def options
57
- @element.find_elements :tag_name, 'option'
54
+ @element.find_elements tag_name: 'option'
58
55
  end
59
56
 
60
57
  #
@@ -64,7 +61,7 @@ module Selenium
64
61
  #
65
62
 
66
63
  def selected_options
67
- options.select { |e| e.selected? }
64
+ options.select(&:selected?)
68
65
  end
69
66
 
70
67
  #
@@ -75,8 +72,9 @@ module Selenium
75
72
  #
76
73
 
77
74
  def first_selected_option
78
- option = options.find { |e| e.selected? }
79
- option or raise Error::NoSuchElementError, 'no options are selected'
75
+ option = options.find(&:selected?)
76
+ return option if option
77
+ raise Error::NoSuchElementError, 'no options are selected'
80
78
  end
81
79
 
82
80
  #
@@ -168,31 +166,22 @@ module Selenium
168
166
  def select_by_text(text)
169
167
  opts = find_by_text text
170
168
 
171
- if opts.empty?
172
- raise Error::NoSuchElementError, "cannot locate element with text: #{text.inspect}"
173
- end
174
-
175
- select_options opts
169
+ return select_options(opts) unless opts.empty?
170
+ raise Error::NoSuchElementError, "cannot locate element with text: #{text.inspect}"
176
171
  end
177
172
 
178
173
  def select_by_index(index)
179
174
  opts = find_by_index index
180
175
 
181
- if opts.empty?
182
- raise Error::NoSuchElementError, "cannot locate element with index: #{index.inspect}"
183
- end
184
-
185
- select_option opts.first
176
+ return select_option(opts.first) unless opts.empty?
177
+ raise Error::NoSuchElementError, "cannot locate element with index: #{index.inspect}"
186
178
  end
187
179
 
188
180
  def select_by_value(value)
189
181
  opts = find_by_value value
190
182
 
191
- if opts.empty?
192
- raise Error::NoSuchElementError, "cannot locate option with value: #{value.inspect}"
193
- end
194
-
195
- select_options opts
183
+ return select_options(opts) unless opts.empty?
184
+ raise Error::NoSuchElementError, "cannot locate option with value: #{value.inspect}"
196
185
  end
197
186
 
198
187
  def deselect_by_text(text)
@@ -201,11 +190,8 @@ module Selenium
201
190
  end
202
191
  opts = find_by_text text
203
192
 
204
- if opts.empty?
205
- raise Error::NoSuchElementError, "cannot locate element with text: #{text.inspect}"
206
- end
207
-
208
- deselect_options opts
193
+ return deselect_options(opts) unless opts.empty?
194
+ raise Error::NoSuchElementError, "cannot locate element with text: #{text.inspect}"
209
195
  end
210
196
 
211
197
  def deselect_by_value(value)
@@ -214,11 +200,8 @@ module Selenium
214
200
  end
215
201
  opts = find_by_value value
216
202
 
217
- if opts.empty?
218
- raise Error::NoSuchElementError, "cannot locate option with value: #{value.inspect}"
219
- end
220
-
221
- deselect_options opts
203
+ return deselect_options(opts) unless opts.empty?
204
+ raise Error::NoSuchElementError, "cannot locate option with value: #{value.inspect}"
222
205
  end
223
206
 
224
207
  def deselect_by_index(index)
@@ -227,15 +210,10 @@ module Selenium
227
210
  end
228
211
  opts = find_by_index index
229
212
 
230
- if opts.empty?
231
- raise Error::NoSuchElementError, "cannot locate option with index: #{index}"
232
- end
233
-
234
- deselect_option opts.first
213
+ return deselect_option(opts.first) unless opts.empty?
214
+ raise Error::NoSuchElementError, "cannot locate option with index: #{index}"
235
215
  end
236
216
 
237
- private
238
-
239
217
  def select_option(option)
240
218
  option.click unless option.selected?
241
219
  end
@@ -262,60 +240,29 @@ module Selenium
262
240
 
263
241
  def find_by_text(text)
264
242
  xpath = ".//option[normalize-space(.) = #{Escaper.escape text}]"
265
- opts = @element.find_elements(:xpath, xpath)
266
-
267
- if opts.empty? && text =~ /\s+/
268
- longest_word = text.split(/\s+/).max_by { |item| item.length }
269
-
270
- if longest_word.empty?
271
- candidates = options
272
- else
273
- xpath = ".//option[contains(., #{Escaper.escape longest_word})]"
274
- candidates = @element.find_elements(:xpath, xpath)
275
- end
276
-
277
- if multiple?
278
- candidates.select { |option| text == option.text }
279
- else
280
- Array(candidates.find { |option| text == option.text })
281
- end
243
+ opts = @element.find_elements(xpath: xpath)
244
+
245
+ return opts unless opts.empty? && text =~ /\s+/
246
+
247
+ longest_word = text.split(/\s+/).max_by(&:length)
248
+ if longest_word.empty?
249
+ candidates = options
282
250
  else
283
- opts
251
+ xpath = ".//option[contains(., #{Escaper.escape longest_word})]"
252
+ candidates = @element.find_elements(xpath: xpath)
284
253
  end
254
+
255
+ return Array(candidates.find { |option| text == option.text }) unless multiple?
256
+ candidates.select { |option| text == option.text }
285
257
  end
286
258
 
287
259
  def find_by_index(index)
288
- index = index.to_s
289
- options.select { |option| option.attribute(:index) == index }
260
+ options.select { |option| option.attribute(:index) == index.to_s }
290
261
  end
291
262
 
292
263
  def find_by_value(value)
293
- @element.find_elements(:xpath, ".//option[@value = #{Escaper.escape value}]")
264
+ @element.find_elements(xpath: ".//option[@value = #{Escaper.escape value}]")
294
265
  end
295
-
296
- #
297
- # @api private
298
- #
299
-
300
- module Escaper
301
- def self.escape(str)
302
- if str.include?('"') && str.include?("'")
303
- parts = str.split('"', -1).map { |part| %{"#{part}"} }
304
-
305
- quoted = parts.join(%{, '"', }).
306
- gsub(/^"", |, ""$/, '')
307
-
308
- "concat(#{quoted})"
309
- elsif str.include?('"')
310
- # escape string with just a quote into being single quoted: f"oo -> 'f"oo'
311
- "'#{str}'"
312
- else
313
- # otherwise return the quoted string
314
- %{"#{str}"}
315
- end
316
- end
317
-
318
- end # Escaper
319
266
  end # Select
320
267
  end # Support
321
268
  end # WebDriver
@@ -1,34 +1,31 @@
1
- # -*- encoding: utf-8 -*-
2
-
3
1
  root = File.expand_path(File.dirname(__FILE__))
4
- if root != Dir.pwd
5
- raise "cwd must be #{root} when reading gemspec"
6
- end
2
+ raise "cwd must be #{root} when reading gemspec" if root != Dir.pwd
7
3
 
8
4
  Gem::Specification.new do |s|
9
- s.name = "selenium-webdriver"
10
- s.version = "2.53.4"
5
+ s.name = 'selenium-webdriver'
6
+ s.version = '3.8.0'
11
7
 
12
- s.authors = ["Jari Bakken"]
13
- s.email = "jari.bakken@gmail.com"
14
- s.description = "WebDriver is a tool for writing automated tests of websites. It aims to mimic the behaviour of a real user, and as such interacts with the HTML of the application."
15
- s.summary = "The next generation developer focused tool for automated testing of webapps"
16
- s.homepage = "https://github.com/seleniumhq/selenium"
17
- s.licenses = ["Apache"]
8
+ s.authors = ['Alex Rodionov', 'Titus Fortner']
9
+ s.email = ['p0deje@gmail.com', 'titusfortner@gmail.com']
10
+ s.description = 'WebDriver is a tool for writing automated tests of websites.
11
+ It aims to mimic the behaviour of a real user, and as such interacts with the
12
+ HTML of the application.'
13
+ s.summary = 'The next generation developer focused tool for automated testing of webapps'
14
+ s.homepage = 'https://github.com/seleniumhq/selenium'
15
+ s.license = 'Apache-2.0'
18
16
 
19
- s.required_rubygems_version = Gem::Requirement.new("> 1.3.1") if s.respond_to? :required_rubygems_version=
20
- s.required_ruby_version = Gem::Requirement.new(">= 1.9.2")
17
+ s.required_rubygems_version = Gem::Requirement.new('> 1.3.1') if s.respond_to? :required_rubygems_version=
18
+ s.required_ruby_version = Gem::Requirement.new('>= 2.0')
21
19
 
22
- s.files = Dir[root + '/**/*'].reject { |e| e =~ /ruby\.iml|build\.desc/ }.map { |e| e.sub(root + '/', '') }
23
- s.require_paths = ["lib"]
20
+ s.files = Dir[root + '/**/*'].reject { |e| e =~ /ruby\.iml|build\.desc/ }.map { |e| e.sub(root + '/', '') }
21
+ s.require_paths = ['lib']
24
22
 
25
- s.add_runtime_dependency "rubyzip", ["~> 1.0"]
26
- s.add_runtime_dependency "childprocess", ["~> 0.5"]
27
- s.add_runtime_dependency "websocket", ["~> 1.0"]
23
+ s.add_runtime_dependency 'rubyzip', ['~> 1.0']
24
+ s.add_runtime_dependency 'childprocess', ['~> 0.5']
28
25
 
29
- s.add_development_dependency "rspec", ["~> 2.99.0"]
30
- s.add_development_dependency "rack", ["~> 1.0"]
31
- s.add_development_dependency "ci_reporter", ["~> 1.6", ">= 1.6.2"]
32
- s.add_development_dependency "webmock", ["~> 1.7", ">= 1.7.5"]
33
- s.add_development_dependency "yard", ["~> 0.8.7"]
26
+ s.add_development_dependency 'rspec', ['~> 3.0']
27
+ s.add_development_dependency 'rack', ['~> 1.0']
28
+ s.add_development_dependency 'webmock', ['~> 2.0']
29
+ s.add_development_dependency 'yard', ['~> 0.9.9']
30
+ s.add_development_dependency 'rubocop', ['~> 0.50.0']
34
31
  end
metadata CHANGED
@@ -1,273 +1,266 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: selenium-webdriver
3
- version: !ruby/object:Gem::Version
4
- prerelease:
5
- version: 2.53.4
3
+ version: !ruby/object:Gem::Version
4
+ version: 3.8.0
6
5
  platform: ruby
7
- authors:
8
- - Jari Bakken
9
- autorequire:
6
+ authors:
7
+ - Alex Rodionov
8
+ - Titus Fortner
9
+ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
-
13
- date: 2016-06-28 00:00:00 -05:00
14
- default_executable:
15
- dependencies:
16
- - !ruby/object:Gem::Dependency
17
- name: rubyzip
18
- prerelease: false
19
- requirement: &id001 !ruby/object:Gem::Requirement
20
- none: false
21
- requirements:
22
- - - ~>
23
- - !ruby/object:Gem::Version
24
- version: "1.0"
25
- type: :runtime
26
- version_requirements: *id001
27
- - !ruby/object:Gem::Dependency
28
- name: childprocess
29
- prerelease: false
30
- requirement: &id002 !ruby/object:Gem::Requirement
31
- none: false
32
- requirements:
33
- - - ~>
34
- - !ruby/object:Gem::Version
35
- version: "0.5"
36
- type: :runtime
37
- version_requirements: *id002
38
- - !ruby/object:Gem::Dependency
39
- name: websocket
40
- prerelease: false
41
- requirement: &id003 !ruby/object:Gem::Requirement
42
- none: false
43
- requirements:
44
- - - ~>
45
- - !ruby/object:Gem::Version
46
- version: "1.0"
47
- type: :runtime
48
- version_requirements: *id003
49
- - !ruby/object:Gem::Dependency
50
- name: rspec
51
- prerelease: false
52
- requirement: &id004 !ruby/object:Gem::Requirement
53
- none: false
54
- requirements:
55
- - - ~>
56
- - !ruby/object:Gem::Version
57
- version: 2.99.0
58
- type: :development
59
- version_requirements: *id004
60
- - !ruby/object:Gem::Dependency
61
- name: rack
62
- prerelease: false
63
- requirement: &id005 !ruby/object:Gem::Requirement
64
- none: false
65
- requirements:
66
- - - ~>
67
- - !ruby/object:Gem::Version
68
- version: "1.0"
69
- type: :development
70
- version_requirements: *id005
71
- - !ruby/object:Gem::Dependency
72
- name: ci_reporter
73
- prerelease: false
74
- requirement: &id006 !ruby/object:Gem::Requirement
75
- none: false
76
- requirements:
77
- - - ~>
78
- - !ruby/object:Gem::Version
79
- version: "1.6"
80
- - - ">="
81
- - !ruby/object:Gem::Version
82
- version: 1.6.2
83
- type: :development
84
- version_requirements: *id006
85
- - !ruby/object:Gem::Dependency
86
- name: webmock
87
- prerelease: false
88
- requirement: &id007 !ruby/object:Gem::Requirement
89
- none: false
90
- requirements:
91
- - - ~>
92
- - !ruby/object:Gem::Version
93
- version: "1.7"
94
- - - ">="
95
- - !ruby/object:Gem::Version
96
- version: 1.7.5
97
- type: :development
98
- version_requirements: *id007
99
- - !ruby/object:Gem::Dependency
100
- name: yard
101
- prerelease: false
102
- requirement: &id008 !ruby/object:Gem::Requirement
103
- none: false
104
- requirements:
105
- - - ~>
106
- - !ruby/object:Gem::Version
107
- version: 0.8.7
108
- type: :development
109
- version_requirements: *id008
110
- description: WebDriver is a tool for writing automated tests of websites. It aims to mimic the behaviour of a real user, and as such interacts with the HTML of the application.
111
- email: jari.bakken@gmail.com
12
+ date: 2017-12-01 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.0'
20
+ name: rubyzip
21
+ prerelease: false
22
+ type: :runtime
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - "~>"
26
+ - !ruby/object:Gem::Version
27
+ version: '1.0'
28
+ - !ruby/object:Gem::Dependency
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '0.5'
34
+ name: childprocess
35
+ prerelease: false
36
+ type: :runtime
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - "~>"
40
+ - !ruby/object:Gem::Version
41
+ version: '0.5'
42
+ - !ruby/object:Gem::Dependency
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '3.0'
48
+ name: rspec
49
+ prerelease: false
50
+ type: :development
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - "~>"
54
+ - !ruby/object:Gem::Version
55
+ version: '3.0'
56
+ - !ruby/object:Gem::Dependency
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '1.0'
62
+ name: rack
63
+ prerelease: false
64
+ type: :development
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - "~>"
68
+ - !ruby/object:Gem::Version
69
+ version: '1.0'
70
+ - !ruby/object:Gem::Dependency
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '2.0'
76
+ name: webmock
77
+ prerelease: false
78
+ type: :development
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - "~>"
82
+ - !ruby/object:Gem::Version
83
+ version: '2.0'
84
+ - !ruby/object:Gem::Dependency
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: 0.9.9
90
+ name: yard
91
+ prerelease: false
92
+ type: :development
93
+ version_requirements: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - "~>"
96
+ - !ruby/object:Gem::Version
97
+ version: 0.9.9
98
+ - !ruby/object:Gem::Dependency
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: 0.50.0
104
+ name: rubocop
105
+ prerelease: false
106
+ type: :development
107
+ version_requirements: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - "~>"
110
+ - !ruby/object:Gem::Version
111
+ version: 0.50.0
112
+ description: |-
113
+ WebDriver is a tool for writing automated tests of websites.
114
+ It aims to mimic the behaviour of a real user, and as such interacts with the
115
+ HTML of the application.
116
+ email:
117
+ - p0deje@gmail.com
118
+ - titusfortner@gmail.com
112
119
  executables: []
113
-
114
120
  extensions: []
115
-
116
121
  extra_rdoc_files: []
117
-
118
- files:
119
- - CHANGES
120
- - Gemfile
121
- - LICENSE
122
- - README.md
123
- - selenium-webdriver.gemspec
124
- - lib/selenium-client.rb
125
- - lib/selenium-webdriver.rb
126
- - lib/selenium/client.rb
127
- - lib/selenium/server.rb
128
- - lib/selenium/webdriver.rb
129
- - lib/selenium/client/base.rb
130
- - lib/selenium/client/driver.rb
131
- - lib/selenium/client/errors.rb
132
- - lib/selenium/client/extensions.rb
133
- - lib/selenium/client/idiomatic.rb
134
- - lib/selenium/client/javascript_expression_builder.rb
135
- - lib/selenium/client/legacy_driver.rb
136
- - lib/selenium/client/protocol.rb
137
- - lib/selenium/client/selenium_helper.rb
138
- - lib/selenium/client/javascript_frameworks/jquery.rb
139
- - lib/selenium/client/javascript_frameworks/prototype.rb
140
- - lib/selenium/rake/server_task.rb
141
- - lib/selenium/webdriver/android.rb
142
- - lib/selenium/webdriver/chrome.rb
143
- - lib/selenium/webdriver/common.rb
144
- - lib/selenium/webdriver/edge.rb
145
- - lib/selenium/webdriver/firefox.rb
146
- - lib/selenium/webdriver/ie.rb
147
- - lib/selenium/webdriver/iphone.rb
148
- - lib/selenium/webdriver/phantomjs.rb
149
- - lib/selenium/webdriver/remote.rb
150
- - lib/selenium/webdriver/safari.rb
151
- - lib/selenium/webdriver/support.rb
152
- - lib/selenium/webdriver/android/bridge.rb
153
- - lib/selenium/webdriver/chrome/bridge.rb
154
- - lib/selenium/webdriver/chrome/profile.rb
155
- - lib/selenium/webdriver/chrome/service.rb
156
- - lib/selenium/webdriver/common/action_builder.rb
157
- - lib/selenium/webdriver/common/alert.rb
158
- - lib/selenium/webdriver/common/bridge_helper.rb
159
- - lib/selenium/webdriver/common/driver.rb
160
- - lib/selenium/webdriver/common/element.rb
161
- - lib/selenium/webdriver/common/error.rb
162
- - lib/selenium/webdriver/common/file_reaper.rb
163
- - lib/selenium/webdriver/common/keyboard.rb
164
- - lib/selenium/webdriver/common/keys.rb
165
- - lib/selenium/webdriver/common/log_entry.rb
166
- - lib/selenium/webdriver/common/logs.rb
167
- - lib/selenium/webdriver/common/mouse.rb
168
- - lib/selenium/webdriver/common/navigation.rb
169
- - lib/selenium/webdriver/common/options.rb
170
- - lib/selenium/webdriver/common/platform.rb
171
- - lib/selenium/webdriver/common/port_prober.rb
172
- - lib/selenium/webdriver/common/profile_helper.rb
173
- - lib/selenium/webdriver/common/proxy.rb
174
- - lib/selenium/webdriver/common/search_context.rb
175
- - lib/selenium/webdriver/common/socket_lock.rb
176
- - lib/selenium/webdriver/common/socket_poller.rb
177
- - lib/selenium/webdriver/common/target_locator.rb
178
- - lib/selenium/webdriver/common/timeouts.rb
179
- - lib/selenium/webdriver/common/touch_action_builder.rb
180
- - lib/selenium/webdriver/common/touch_screen.rb
181
- - lib/selenium/webdriver/common/w3c_error.rb
182
- - lib/selenium/webdriver/common/wait.rb
183
- - lib/selenium/webdriver/common/window.rb
184
- - lib/selenium/webdriver/common/zipper.rb
185
- - lib/selenium/webdriver/common/core_ext/base64.rb
186
- - lib/selenium/webdriver/common/core_ext/dir.rb
187
- - lib/selenium/webdriver/common/driver_extensions/has_input_devices.rb
188
- - lib/selenium/webdriver/common/driver_extensions/has_location.rb
189
- - lib/selenium/webdriver/common/driver_extensions/has_network_connection.rb
190
- - lib/selenium/webdriver/common/driver_extensions/has_remote_status.rb
191
- - lib/selenium/webdriver/common/driver_extensions/has_session_id.rb
192
- - lib/selenium/webdriver/common/driver_extensions/has_touch_screen.rb
193
- - lib/selenium/webdriver/common/driver_extensions/has_web_storage.rb
194
- - lib/selenium/webdriver/common/driver_extensions/rotatable.rb
195
- - lib/selenium/webdriver/common/driver_extensions/takes_screenshot.rb
196
- - lib/selenium/webdriver/common/driver_extensions/uploads_files.rb
197
- - lib/selenium/webdriver/common/html5/local_storage.rb
198
- - lib/selenium/webdriver/common/html5/location.rb
199
- - lib/selenium/webdriver/common/html5/session_storage.rb
200
- - lib/selenium/webdriver/common/html5/shared_web_storage.rb
201
- - lib/selenium/webdriver/edge/bridge.rb
202
- - lib/selenium/webdriver/edge/legacy_support.rb
203
- - lib/selenium/webdriver/edge/service.rb
204
- - lib/selenium/webdriver/firefox/binary.rb
205
- - lib/selenium/webdriver/firefox/bridge.rb
206
- - lib/selenium/webdriver/firefox/extension.rb
207
- - lib/selenium/webdriver/firefox/launcher.rb
208
- - lib/selenium/webdriver/firefox/profile.rb
209
- - lib/selenium/webdriver/firefox/profiles_ini.rb
210
- - lib/selenium/webdriver/firefox/service.rb
211
- - lib/selenium/webdriver/firefox/util.rb
212
- - lib/selenium/webdriver/firefox/w3c_bridge.rb
213
- - lib/selenium/webdriver/firefox/extension/prefs.json
214
- - lib/selenium/webdriver/firefox/extension/webdriver.xpi
215
- - lib/selenium/webdriver/firefox/native/linux/amd64/x_ignore_nofocus.so
216
- - lib/selenium/webdriver/firefox/native/linux/x86/x_ignore_nofocus.so
217
- - lib/selenium/webdriver/ie/bridge.rb
218
- - lib/selenium/webdriver/ie/server.rb
219
- - lib/selenium/webdriver/iphone/bridge.rb
220
- - lib/selenium/webdriver/phantomjs/bridge.rb
221
- - lib/selenium/webdriver/phantomjs/service.rb
222
- - lib/selenium/webdriver/remote/bridge.rb
223
- - lib/selenium/webdriver/remote/capabilities.rb
224
- - lib/selenium/webdriver/remote/commands.rb
225
- - lib/selenium/webdriver/remote/response.rb
226
- - lib/selenium/webdriver/remote/server_error.rb
227
- - lib/selenium/webdriver/remote/w3c_bridge.rb
228
- - lib/selenium/webdriver/remote/w3c_capabilities.rb
229
- - lib/selenium/webdriver/remote/w3c_commands.rb
230
- - lib/selenium/webdriver/remote/http/common.rb
231
- - lib/selenium/webdriver/remote/http/curb.rb
232
- - lib/selenium/webdriver/remote/http/default.rb
233
- - lib/selenium/webdriver/remote/http/persistent.rb
234
- - lib/selenium/webdriver/safari/bridge.rb
235
- - lib/selenium/webdriver/safari/browser.rb
236
- - lib/selenium/webdriver/safari/options.rb
237
- - lib/selenium/webdriver/safari/server.rb
238
- - lib/selenium/webdriver/safari/resources/client.js
239
- - lib/selenium/webdriver/support/abstract_event_listener.rb
240
- - lib/selenium/webdriver/support/block_event_listener.rb
241
- - lib/selenium/webdriver/support/color.rb
242
- - lib/selenium/webdriver/support/event_firing_bridge.rb
243
- - lib/selenium/webdriver/support/select.rb
244
- has_rdoc: true
122
+ files:
123
+ - CHANGES
124
+ - Gemfile
125
+ - LICENSE
126
+ - README.md
127
+ - lib/selenium-webdriver.rb
128
+ - lib/selenium/server.rb
129
+ - lib/selenium/webdriver.rb
130
+ - lib/selenium/webdriver/atoms.rb
131
+ - lib/selenium/webdriver/atoms/getAttribute.js
132
+ - lib/selenium/webdriver/chrome.rb
133
+ - lib/selenium/webdriver/chrome/driver.rb
134
+ - lib/selenium/webdriver/chrome/options.rb
135
+ - lib/selenium/webdriver/chrome/profile.rb
136
+ - lib/selenium/webdriver/chrome/service.rb
137
+ - lib/selenium/webdriver/common.rb
138
+ - lib/selenium/webdriver/common/action_builder.rb
139
+ - lib/selenium/webdriver/common/alert.rb
140
+ - lib/selenium/webdriver/common/bridge_helper.rb
141
+ - lib/selenium/webdriver/common/driver.rb
142
+ - lib/selenium/webdriver/common/driver_extensions/has_addons.rb
143
+ - lib/selenium/webdriver/common/driver_extensions/has_location.rb
144
+ - lib/selenium/webdriver/common/driver_extensions/has_network_connection.rb
145
+ - lib/selenium/webdriver/common/driver_extensions/has_remote_status.rb
146
+ - lib/selenium/webdriver/common/driver_extensions/has_session_id.rb
147
+ - lib/selenium/webdriver/common/driver_extensions/has_touch_screen.rb
148
+ - lib/selenium/webdriver/common/driver_extensions/has_web_storage.rb
149
+ - lib/selenium/webdriver/common/driver_extensions/rotatable.rb
150
+ - lib/selenium/webdriver/common/driver_extensions/takes_screenshot.rb
151
+ - lib/selenium/webdriver/common/driver_extensions/uploads_files.rb
152
+ - lib/selenium/webdriver/common/element.rb
153
+ - lib/selenium/webdriver/common/error.rb
154
+ - lib/selenium/webdriver/common/file_reaper.rb
155
+ - lib/selenium/webdriver/common/html5/local_storage.rb
156
+ - lib/selenium/webdriver/common/html5/session_storage.rb
157
+ - lib/selenium/webdriver/common/html5/shared_web_storage.rb
158
+ - lib/selenium/webdriver/common/interactions/input_device.rb
159
+ - lib/selenium/webdriver/common/interactions/interaction.rb
160
+ - lib/selenium/webdriver/common/interactions/interactions.rb
161
+ - lib/selenium/webdriver/common/interactions/key_actions.rb
162
+ - lib/selenium/webdriver/common/interactions/key_input.rb
163
+ - lib/selenium/webdriver/common/interactions/none_input.rb
164
+ - lib/selenium/webdriver/common/interactions/pointer_actions.rb
165
+ - lib/selenium/webdriver/common/interactions/pointer_input.rb
166
+ - lib/selenium/webdriver/common/keyboard.rb
167
+ - lib/selenium/webdriver/common/keys.rb
168
+ - lib/selenium/webdriver/common/log_entry.rb
169
+ - lib/selenium/webdriver/common/logger.rb
170
+ - lib/selenium/webdriver/common/logs.rb
171
+ - lib/selenium/webdriver/common/mouse.rb
172
+ - lib/selenium/webdriver/common/navigation.rb
173
+ - lib/selenium/webdriver/common/options.rb
174
+ - lib/selenium/webdriver/common/platform.rb
175
+ - lib/selenium/webdriver/common/port_prober.rb
176
+ - lib/selenium/webdriver/common/profile_helper.rb
177
+ - lib/selenium/webdriver/common/proxy.rb
178
+ - lib/selenium/webdriver/common/search_context.rb
179
+ - lib/selenium/webdriver/common/service.rb
180
+ - lib/selenium/webdriver/common/socket_lock.rb
181
+ - lib/selenium/webdriver/common/socket_poller.rb
182
+ - lib/selenium/webdriver/common/target_locator.rb
183
+ - lib/selenium/webdriver/common/timeouts.rb
184
+ - lib/selenium/webdriver/common/touch_action_builder.rb
185
+ - lib/selenium/webdriver/common/touch_screen.rb
186
+ - lib/selenium/webdriver/common/w3c_action_builder.rb
187
+ - lib/selenium/webdriver/common/w3c_options.rb
188
+ - lib/selenium/webdriver/common/wait.rb
189
+ - lib/selenium/webdriver/common/window.rb
190
+ - lib/selenium/webdriver/common/zipper.rb
191
+ - lib/selenium/webdriver/edge.rb
192
+ - lib/selenium/webdriver/edge/bridge.rb
193
+ - lib/selenium/webdriver/edge/driver.rb
194
+ - lib/selenium/webdriver/edge/service.rb
195
+ - lib/selenium/webdriver/firefox.rb
196
+ - lib/selenium/webdriver/firefox/binary.rb
197
+ - lib/selenium/webdriver/firefox/driver.rb
198
+ - lib/selenium/webdriver/firefox/extension.rb
199
+ - lib/selenium/webdriver/firefox/extension/prefs.json
200
+ - lib/selenium/webdriver/firefox/extension/webdriver.xpi
201
+ - lib/selenium/webdriver/firefox/launcher.rb
202
+ - lib/selenium/webdriver/firefox/legacy/driver.rb
203
+ - lib/selenium/webdriver/firefox/marionette/bridge.rb
204
+ - lib/selenium/webdriver/firefox/marionette/driver.rb
205
+ - lib/selenium/webdriver/firefox/native/linux/amd64/x_ignore_nofocus.so
206
+ - lib/selenium/webdriver/firefox/native/linux/x86/x_ignore_nofocus.so
207
+ - lib/selenium/webdriver/firefox/options.rb
208
+ - lib/selenium/webdriver/firefox/profile.rb
209
+ - lib/selenium/webdriver/firefox/profiles_ini.rb
210
+ - lib/selenium/webdriver/firefox/service.rb
211
+ - lib/selenium/webdriver/firefox/util.rb
212
+ - lib/selenium/webdriver/ie.rb
213
+ - lib/selenium/webdriver/ie/driver.rb
214
+ - lib/selenium/webdriver/ie/options.rb
215
+ - lib/selenium/webdriver/ie/service.rb
216
+ - lib/selenium/webdriver/remote.rb
217
+ - lib/selenium/webdriver/remote/bridge.rb
218
+ - lib/selenium/webdriver/remote/capabilities.rb
219
+ - lib/selenium/webdriver/remote/driver.rb
220
+ - lib/selenium/webdriver/remote/http/common.rb
221
+ - lib/selenium/webdriver/remote/http/curb.rb
222
+ - lib/selenium/webdriver/remote/http/default.rb
223
+ - lib/selenium/webdriver/remote/http/persistent.rb
224
+ - lib/selenium/webdriver/remote/oss/bridge.rb
225
+ - lib/selenium/webdriver/remote/oss/commands.rb
226
+ - lib/selenium/webdriver/remote/response.rb
227
+ - lib/selenium/webdriver/remote/server_error.rb
228
+ - lib/selenium/webdriver/remote/w3c/bridge.rb
229
+ - lib/selenium/webdriver/remote/w3c/capabilities.rb
230
+ - lib/selenium/webdriver/remote/w3c/commands.rb
231
+ - lib/selenium/webdriver/safari.rb
232
+ - lib/selenium/webdriver/safari/driver.rb
233
+ - lib/selenium/webdriver/safari/service.rb
234
+ - lib/selenium/webdriver/support.rb
235
+ - lib/selenium/webdriver/support/abstract_event_listener.rb
236
+ - lib/selenium/webdriver/support/block_event_listener.rb
237
+ - lib/selenium/webdriver/support/color.rb
238
+ - lib/selenium/webdriver/support/escaper.rb
239
+ - lib/selenium/webdriver/support/event_firing_bridge.rb
240
+ - lib/selenium/webdriver/support/select.rb
241
+ - selenium-webdriver.gemspec
245
242
  homepage: https://github.com/seleniumhq/selenium
246
- licenses:
247
- - Apache
248
- post_install_message:
243
+ licenses:
244
+ - Apache-2.0
245
+ metadata: {}
246
+ post_install_message:
249
247
  rdoc_options: []
250
-
251
- require_paths:
252
- - lib
253
- required_ruby_version: !ruby/object:Gem::Requirement
254
- none: false
255
- requirements:
256
- - - ">="
257
- - !ruby/object:Gem::Version
258
- version: 1.9.2
259
- required_rubygems_version: !ruby/object:Gem::Requirement
260
- none: false
261
- requirements:
262
- - - ">"
263
- - !ruby/object:Gem::Version
264
- version: 1.3.1
248
+ require_paths:
249
+ - lib
250
+ required_ruby_version: !ruby/object:Gem::Requirement
251
+ requirements:
252
+ - - ">="
253
+ - !ruby/object:Gem::Version
254
+ version: '2.0'
255
+ required_rubygems_version: !ruby/object:Gem::Requirement
256
+ requirements:
257
+ - - ">"
258
+ - !ruby/object:Gem::Version
259
+ version: 1.3.1
265
260
  requirements: []
266
-
267
- rubyforge_project:
268
- rubygems_version: 1.4.1
269
- signing_key:
270
- specification_version: 3
261
+ rubyforge_project:
262
+ rubygems_version: 2.6.13
263
+ signing_key:
264
+ specification_version: 4
271
265
  summary: The next generation developer focused tool for automated testing of webapps
272
266
  test_files: []
273
-