selenium-webdriver 2.53.4 → 3.8.0

Sign up to get free protection for your applications and to get access to all the features.
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
-