selenium-webdriver 3.0.0.beta4.0 → 4.0.0.alpha5

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 (139) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGES +679 -0
  3. data/Gemfile +2 -0
  4. data/LICENSE +1 -1
  5. data/README.md +1 -1
  6. data/lib/selenium-webdriver.rb +2 -2
  7. data/lib/selenium/server.rb +23 -16
  8. data/lib/selenium/webdriver.rb +43 -25
  9. data/lib/selenium/webdriver/atoms.rb +20 -1
  10. data/lib/selenium/webdriver/atoms/findElements.js +122 -0
  11. data/lib/selenium/webdriver/atoms/getAttribute.js +84 -11
  12. data/lib/selenium/webdriver/atoms/isDisplayed.js +100 -0
  13. data/lib/selenium/webdriver/chrome.rb +15 -20
  14. data/lib/selenium/webdriver/chrome/bridge.rb +29 -66
  15. data/lib/selenium/webdriver/{edge/service.rb → chrome/driver.rb} +19 -22
  16. data/lib/selenium/webdriver/chrome/options.rb +221 -0
  17. data/lib/selenium/webdriver/chrome/profile.rb +6 -7
  18. data/lib/selenium/webdriver/chrome/service.rb +20 -20
  19. data/lib/selenium/webdriver/common.rb +19 -11
  20. data/lib/selenium/webdriver/common/action_builder.rb +98 -246
  21. data/lib/selenium/webdriver/common/alert.rb +2 -7
  22. data/lib/selenium/webdriver/common/driver.rb +89 -51
  23. data/lib/selenium/webdriver/common/driver_extensions/downloads_files.rb +45 -0
  24. data/lib/selenium/webdriver/common/driver_extensions/has_addons.rb +50 -0
  25. data/lib/selenium/webdriver/common/driver_extensions/{has_input_devices.rb → has_debugger.rb} +12 -25
  26. data/lib/selenium/webdriver/common/driver_extensions/has_devtools.rb +38 -0
  27. data/lib/selenium/webdriver/common/driver_extensions/has_location.rb +3 -5
  28. data/lib/selenium/webdriver/common/driver_extensions/has_network_conditions.rb +51 -0
  29. data/lib/selenium/webdriver/common/driver_extensions/has_network_connection.rb +3 -3
  30. data/lib/selenium/webdriver/common/driver_extensions/has_permissions.rb +51 -0
  31. data/lib/selenium/webdriver/common/driver_extensions/has_remote_status.rb +2 -2
  32. data/lib/selenium/webdriver/common/driver_extensions/has_session_id.rb +2 -2
  33. data/lib/selenium/webdriver/common/driver_extensions/has_web_storage.rb +2 -2
  34. data/lib/selenium/webdriver/common/driver_extensions/rotatable.rb +4 -4
  35. data/lib/selenium/webdriver/common/driver_extensions/takes_screenshot.rb +9 -3
  36. data/lib/selenium/webdriver/common/driver_extensions/uploads_files.rb +3 -5
  37. data/lib/selenium/webdriver/common/element.rb +32 -10
  38. data/lib/selenium/webdriver/common/error.rb +103 -121
  39. data/lib/selenium/webdriver/common/file_reaper.rb +3 -5
  40. data/lib/selenium/webdriver/common/html5/local_storage.rb +2 -2
  41. data/lib/selenium/webdriver/common/html5/session_storage.rb +2 -2
  42. data/lib/selenium/webdriver/common/html5/shared_web_storage.rb +3 -2
  43. data/lib/selenium/webdriver/common/interactions/input_device.rb +54 -0
  44. data/lib/selenium/webdriver/common/interactions/interaction.rb +53 -0
  45. data/lib/selenium/webdriver/{phantomjs.rb → common/interactions/interactions.rb} +17 -20
  46. data/lib/selenium/webdriver/common/interactions/key_actions.rb +145 -0
  47. data/lib/selenium/webdriver/common/interactions/key_input.rb +66 -0
  48. data/lib/selenium/webdriver/common/interactions/none_input.rb +36 -0
  49. data/lib/selenium/webdriver/common/interactions/pointer_actions.rb +363 -0
  50. data/lib/selenium/webdriver/common/interactions/pointer_input.rb +139 -0
  51. data/lib/selenium/webdriver/common/keys.rb +37 -15
  52. data/lib/selenium/webdriver/common/log_entry.rb +4 -4
  53. data/lib/selenium/webdriver/common/logger.rb +147 -0
  54. data/lib/selenium/webdriver/common/logs.rb +2 -2
  55. data/lib/selenium/webdriver/common/manager.rb +177 -0
  56. data/lib/selenium/webdriver/common/navigation.rb +2 -2
  57. data/lib/selenium/webdriver/common/options.rb +47 -105
  58. data/lib/selenium/webdriver/common/platform.rb +44 -38
  59. data/lib/selenium/webdriver/common/port_prober.rb +8 -19
  60. data/lib/selenium/webdriver/common/profile_helper.rb +13 -5
  61. data/lib/selenium/webdriver/common/proxy.rb +14 -8
  62. data/lib/selenium/webdriver/common/search_context.rb +16 -20
  63. data/lib/selenium/webdriver/common/service.rb +115 -30
  64. data/lib/selenium/webdriver/common/socket_lock.rb +12 -7
  65. data/lib/selenium/webdriver/common/socket_poller.rb +29 -22
  66. data/lib/selenium/webdriver/common/target_locator.rb +6 -6
  67. data/lib/selenium/webdriver/common/timeouts.rb +2 -2
  68. data/lib/selenium/webdriver/common/wait.rb +14 -8
  69. data/lib/selenium/webdriver/common/window.rb +38 -2
  70. data/lib/selenium/webdriver/common/zipper.rb +3 -5
  71. data/lib/selenium/webdriver/edge.rb +33 -20
  72. data/lib/selenium/webdriver/edge_chrome/bridge.rb +30 -0
  73. data/lib/selenium/webdriver/edge_chrome/driver.rb +38 -0
  74. data/lib/selenium/webdriver/{common/driver_extensions/has_touch_screen.rb → edge_chrome/options.rb} +10 -12
  75. data/lib/selenium/webdriver/edge_chrome/profile.rb +33 -0
  76. data/lib/selenium/webdriver/edge_chrome/service.rb +36 -0
  77. data/lib/selenium/webdriver/edge_html/driver.rb +39 -0
  78. data/lib/selenium/webdriver/edge_html/options.rb +91 -0
  79. data/lib/selenium/webdriver/edge_html/service.rb +47 -0
  80. data/lib/selenium/webdriver/firefox.rb +24 -29
  81. data/lib/selenium/webdriver/firefox/bridge.rb +15 -39
  82. data/lib/selenium/webdriver/firefox/{util.rb → driver.rb} +13 -19
  83. data/lib/selenium/webdriver/firefox/extension.rb +28 -8
  84. data/lib/selenium/webdriver/firefox/options.rb +162 -0
  85. data/lib/selenium/webdriver/firefox/profile.rb +23 -82
  86. data/lib/selenium/webdriver/firefox/profiles_ini.rb +5 -5
  87. data/lib/selenium/webdriver/firefox/service.rb +18 -37
  88. data/lib/selenium/webdriver/ie.rb +13 -19
  89. data/lib/selenium/webdriver/ie/driver.rb +40 -0
  90. data/lib/selenium/webdriver/ie/options.rb +118 -0
  91. data/lib/selenium/webdriver/ie/service.rb +20 -20
  92. data/lib/selenium/webdriver/remote.rb +15 -17
  93. data/lib/selenium/webdriver/remote/bridge.rb +281 -300
  94. data/lib/selenium/webdriver/remote/capabilities.rb +102 -83
  95. data/lib/selenium/webdriver/remote/commands.rb +132 -192
  96. data/lib/selenium/webdriver/remote/driver.rb +52 -0
  97. data/lib/selenium/webdriver/remote/http/common.rb +23 -13
  98. data/lib/selenium/webdriver/remote/http/curb.rb +10 -7
  99. data/lib/selenium/webdriver/remote/http/default.rb +52 -32
  100. data/lib/selenium/webdriver/remote/http/persistent.rb +8 -4
  101. data/lib/selenium/webdriver/remote/response.rb +32 -35
  102. data/lib/selenium/webdriver/remote/server_error.rb +2 -2
  103. data/lib/selenium/webdriver/safari.rb +24 -22
  104. data/lib/selenium/webdriver/safari/bridge.rb +21 -21
  105. data/lib/selenium/webdriver/safari/driver.rb +41 -0
  106. data/lib/selenium/webdriver/safari/options.rb +66 -0
  107. data/lib/selenium/webdriver/safari/service.rb +8 -24
  108. data/lib/selenium/webdriver/support.rb +3 -2
  109. data/lib/selenium/webdriver/support/abstract_event_listener.rb +2 -2
  110. data/lib/selenium/webdriver/support/block_event_listener.rb +3 -3
  111. data/lib/selenium/webdriver/support/color.rb +13 -13
  112. data/lib/selenium/webdriver/support/escaper.rb +2 -2
  113. data/lib/selenium/webdriver/support/event_firing_bridge.rb +4 -4
  114. data/lib/selenium/webdriver/support/relative_locator.rb +51 -0
  115. data/lib/selenium/webdriver/support/select.rb +20 -21
  116. data/lib/selenium/webdriver/version.rb +24 -0
  117. data/selenium-webdriver.gemspec +31 -17
  118. metadata +331 -248
  119. data/lib/selenium/webdriver/common/bridge_helper.rb +0 -82
  120. data/lib/selenium/webdriver/common/keyboard.rb +0 -69
  121. data/lib/selenium/webdriver/common/mouse.rb +0 -88
  122. data/lib/selenium/webdriver/common/touch_action_builder.rb +0 -81
  123. data/lib/selenium/webdriver/common/touch_screen.rb +0 -121
  124. data/lib/selenium/webdriver/common/w3c_error.rb +0 -191
  125. data/lib/selenium/webdriver/edge/bridge.rb +0 -76
  126. data/lib/selenium/webdriver/edge/legacy_support.rb +0 -117
  127. data/lib/selenium/webdriver/firefox/binary.rb +0 -186
  128. data/lib/selenium/webdriver/firefox/extension/prefs.json +0 -69
  129. data/lib/selenium/webdriver/firefox/extension/webdriver.xpi +0 -0
  130. data/lib/selenium/webdriver/firefox/launcher.rb +0 -114
  131. data/lib/selenium/webdriver/firefox/native/linux/amd64/x_ignore_nofocus.so +0 -0
  132. data/lib/selenium/webdriver/firefox/native/linux/x86/x_ignore_nofocus.so +0 -0
  133. data/lib/selenium/webdriver/firefox/w3c_bridge.rb +0 -79
  134. data/lib/selenium/webdriver/ie/bridge.rb +0 -76
  135. data/lib/selenium/webdriver/phantomjs/bridge.rb +0 -65
  136. data/lib/selenium/webdriver/phantomjs/service.rb +0 -66
  137. data/lib/selenium/webdriver/remote/w3c_bridge.rb +0 -682
  138. data/lib/selenium/webdriver/remote/w3c_capabilities.rb +0 -228
  139. data/lib/selenium/webdriver/remote/w3c_commands.rb +0 -135
@@ -1,5 +1,5 @@
1
- # encoding: utf-8
2
- #
1
+ # frozen_string_literal: true
2
+
3
3
  # Licensed to the Software Freedom Conservancy (SFC) under one
4
4
  # or more contributor license agreements. See the NOTICE file
5
5
  # distributed with this work for additional information
@@ -28,9 +28,7 @@ module Selenium
28
28
  def initialize(element)
29
29
  tag_name = element.tag_name
30
30
 
31
- unless tag_name.casecmp('select').zero?
32
- raise ArgumentError, "unexpected tag name #{tag_name.inspect}"
33
- end
31
+ raise ArgumentError, "unexpected tag name #{tag_name.inspect}" unless tag_name.casecmp('select').zero?
34
32
 
35
33
  @element = element
36
34
  @multi = ![nil, 'false'].include?(element.attribute(:multiple))
@@ -76,6 +74,7 @@ module Selenium
76
74
  def first_selected_option
77
75
  option = options.find(&:selected?)
78
76
  return option if option
77
+
79
78
  raise Error::NoSuchElementError, 'no options are selected'
80
79
  end
81
80
 
@@ -142,9 +141,7 @@ module Selenium
142
141
  #
143
142
 
144
143
  def select_all
145
- unless multiple?
146
- raise Error::UnsupportedOperationError, 'you may only select all options of a multi-select'
147
- end
144
+ raise Error::UnsupportedOperationError, 'you may only select all options of a multi-select' unless multiple?
148
145
 
149
146
  options.each { |e| select_option e }
150
147
  end
@@ -156,9 +153,7 @@ module Selenium
156
153
  #
157
154
 
158
155
  def deselect_all
159
- unless multiple?
160
- raise Error::UnsupportedOperationError, 'you may only deselect all options of a multi-select'
161
- end
156
+ raise Error::UnsupportedOperationError, 'you may only deselect all options of a multi-select' unless multiple?
162
157
 
163
158
  options.each { |e| deselect_option e }
164
159
  end
@@ -169,6 +164,7 @@ module Selenium
169
164
  opts = find_by_text text
170
165
 
171
166
  return select_options(opts) unless opts.empty?
167
+
172
168
  raise Error::NoSuchElementError, "cannot locate element with text: #{text.inspect}"
173
169
  end
174
170
 
@@ -176,6 +172,7 @@ module Selenium
176
172
  opts = find_by_index index
177
173
 
178
174
  return select_option(opts.first) unless opts.empty?
175
+
179
176
  raise Error::NoSuchElementError, "cannot locate element with index: #{index.inspect}"
180
177
  end
181
178
 
@@ -183,36 +180,37 @@ module Selenium
183
180
  opts = find_by_value value
184
181
 
185
182
  return select_options(opts) unless opts.empty?
183
+
186
184
  raise Error::NoSuchElementError, "cannot locate option with value: #{value.inspect}"
187
185
  end
188
186
 
189
187
  def deselect_by_text(text)
190
- unless multiple?
191
- raise Error::UnsupportedOperationError, 'you may only deselect option of a multi-select'
192
- end
188
+ raise Error::UnsupportedOperationError, 'you may only deselect option of a multi-select' unless multiple?
189
+
193
190
  opts = find_by_text text
194
191
 
195
192
  return deselect_options(opts) unless opts.empty?
193
+
196
194
  raise Error::NoSuchElementError, "cannot locate element with text: #{text.inspect}"
197
195
  end
198
196
 
199
197
  def deselect_by_value(value)
200
- unless multiple?
201
- raise Error::UnsupportedOperationError, 'you may only deselect option of a multi-select'
202
- end
198
+ raise Error::UnsupportedOperationError, 'you may only deselect option of a multi-select' unless multiple?
199
+
203
200
  opts = find_by_value value
204
201
 
205
202
  return deselect_options(opts) unless opts.empty?
203
+
206
204
  raise Error::NoSuchElementError, "cannot locate option with value: #{value.inspect}"
207
205
  end
208
206
 
209
207
  def deselect_by_index(index)
210
- unless multiple?
211
- raise Error::UnsupportedOperationError, 'you may only deselect option of a multi-select'
212
- end
208
+ raise Error::UnsupportedOperationError, 'you may only deselect option of a multi-select' unless multiple?
209
+
213
210
  opts = find_by_index index
214
211
 
215
212
  return deselect_option(opts.first) unless opts.empty?
213
+
216
214
  raise Error::NoSuchElementError, "cannot locate option with index: #{index}"
217
215
  end
218
216
 
@@ -244,7 +242,7 @@ module Selenium
244
242
  xpath = ".//option[normalize-space(.) = #{Escaper.escape text}]"
245
243
  opts = @element.find_elements(xpath: xpath)
246
244
 
247
- return opts unless opts.empty? && text =~ /\s+/
245
+ return opts unless opts.empty? && /\s+/.match?(text)
248
246
 
249
247
  longest_word = text.split(/\s+/).max_by(&:length)
250
248
  if longest_word.empty?
@@ -255,6 +253,7 @@ module Selenium
255
253
  end
256
254
 
257
255
  return Array(candidates.find { |option| text == option.text }) unless multiple?
256
+
258
257
  candidates.select { |option| text == option.text }
259
258
  end
260
259
 
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Licensed to the Software Freedom Conservancy (SFC) under one
4
+ # or more contributor license agreements. See the NOTICE file
5
+ # distributed with this work for additional information
6
+ # regarding copyright ownership. The SFC licenses this file
7
+ # to you under the Apache License, Version 2.0 (the
8
+ # "License"); you may not use this file except in compliance
9
+ # with the License. You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing,
14
+ # software distributed under the License is distributed on an
15
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16
+ # KIND, either express or implied. See the License for the
17
+ # specific language governing permissions and limitations
18
+ # under the License.
19
+
20
+ module Selenium
21
+ module WebDriver
22
+ VERSION = '4.0.0.alpha5'
23
+ end # WebDriver
24
+ end # Selenium
@@ -1,34 +1,48 @@
1
- # -*- encoding: utf-8 -*-
1
+ # frozen_string_literal: true
2
2
 
3
3
  root = File.expand_path(File.dirname(__FILE__))
4
4
  raise "cwd must be #{root} when reading gemspec" if root != Dir.pwd
5
5
 
6
+ $LOAD_PATH.push(File.expand_path('lib', root))
7
+ require 'selenium/webdriver/version'
8
+
6
9
  Gem::Specification.new do |s|
7
10
  s.name = 'selenium-webdriver'
8
- s.version = '3.0.0.beta4.0'
11
+ s.version = Selenium::WebDriver::VERSION
12
+
13
+ s.authors = ['Alex Rodionov', 'Titus Fortner', 'Thomas Walpole']
14
+ s.email = ['p0deje@gmail.com', 'titusfortner@gmail.com', 'twalpole@gmail.com']
9
15
 
10
- s.authors = ['Alex Rodionov', 'Titus Fortner']
11
- s.email = ['p0deje@gmail.com', 'titusfortner@gmail.com']
12
- s.description = 'WebDriver is a tool for writing automated tests of websites.
13
- It aims to mimic the behaviour of a real user, and as such interacts with the
14
- HTML of the application.'
15
16
  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']
17
+ s.description = 'WebDriver is a tool for writing automated tests of websites. ' \
18
+ 'It aims to mimic the behaviour of a real user, ' \
19
+ 'and as such interacts with the HTML of the application.'
20
+
21
+ s.license = 'Apache-2.0'
22
+ s.homepage = 'https://github.com/SeleniumHQ/selenium'
23
+ s.metadata = {
24
+ 'changelog_uri' => 'https://github.com/SeleniumHQ/selenium/blob/master/rb/CHANGES',
25
+ 'source_code_uri' => 'https://github.com/SeleniumHQ/selenium/tree/master/rb'
26
+ }
18
27
 
19
28
  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('>= 2.0')
29
+ s.required_ruby_version = Gem::Requirement.new('>= 2.4')
21
30
 
22
31
  s.files = Dir[root + '/**/*'].reject { |e| e =~ /ruby\.iml|build\.desc/ }.map { |e| e.sub(root + '/', '') }
23
32
  s.require_paths = ['lib']
24
33
 
25
- s.add_runtime_dependency 'rubyzip', ['~> 1.0']
26
- s.add_runtime_dependency 'childprocess', ['~> 0.5']
34
+ s.add_runtime_dependency 'childprocess', ['>= 0.5', '< 4.0']
35
+ s.add_runtime_dependency 'rubyzip', ['>= 1.2.2']
27
36
  s.add_runtime_dependency 'websocket', ['~> 1.0']
28
37
 
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']
38
+ # childprocess requires ffi on windows but doesn't declare it in its dependencies
39
+ s.add_development_dependency 'ffi'
40
+ s.add_development_dependency 'rack', ['~> 2.0']
41
+ s.add_development_dependency 'rake'
42
+ s.add_development_dependency 'rspec', ['~> 3.0']
43
+ s.add_development_dependency 'rubocop', ['~> 0.73.0']
44
+ s.add_development_dependency 'rubocop-performance'
45
+ s.add_development_dependency 'rubocop-rspec'
46
+ s.add_development_dependency 'webmock', ['~> 3.5']
47
+ s.add_development_dependency 'yard', ['~> 0.9.11']
34
48
  end
metadata CHANGED
@@ -1,259 +1,342 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: selenium-webdriver
3
- version: !ruby/object:Gem::Version
4
- prerelease: 6
5
- version: 3.0.0.beta4.0
3
+ version: !ruby/object:Gem::Version
4
+ version: 4.0.0.alpha5
6
5
  platform: ruby
7
- authors:
8
- - Alex Rodionov
9
- - Titus Fortner
10
- autorequire:
6
+ authors:
7
+ - Alex Rodionov
8
+ - Titus Fortner
9
+ - Thomas Walpole
10
+ autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
-
14
- date: 2016-10-04 00:00:00 -05:00
15
- default_executable:
16
- dependencies:
17
- - !ruby/object:Gem::Dependency
18
- name: rubyzip
19
- prerelease: false
20
- requirement: &id001 !ruby/object:Gem::Requirement
21
- none: false
22
- requirements:
23
- - - ~>
24
- - !ruby/object:Gem::Version
25
- version: "1.0"
26
- type: :runtime
27
- version_requirements: *id001
28
- - !ruby/object:Gem::Dependency
29
- name: childprocess
30
- prerelease: false
31
- requirement: &id002 !ruby/object:Gem::Requirement
32
- none: false
33
- requirements:
34
- - - ~>
35
- - !ruby/object:Gem::Version
36
- version: "0.5"
37
- type: :runtime
38
- version_requirements: *id002
39
- - !ruby/object:Gem::Dependency
40
- name: websocket
41
- prerelease: false
42
- requirement: &id003 !ruby/object:Gem::Requirement
43
- none: false
44
- requirements:
45
- - - ~>
46
- - !ruby/object:Gem::Version
47
- version: "1.0"
48
- type: :runtime
49
- version_requirements: *id003
50
- - !ruby/object:Gem::Dependency
51
- name: rspec
52
- prerelease: false
53
- requirement: &id004 !ruby/object:Gem::Requirement
54
- none: false
55
- requirements:
56
- - - ~>
57
- - !ruby/object:Gem::Version
58
- version: 2.99.0
59
- type: :development
60
- version_requirements: *id004
61
- - !ruby/object:Gem::Dependency
62
- name: rack
63
- prerelease: false
64
- requirement: &id005 !ruby/object:Gem::Requirement
65
- none: false
66
- requirements:
67
- - - ~>
68
- - !ruby/object:Gem::Version
69
- version: "1.0"
70
- type: :development
71
- version_requirements: *id005
72
- - !ruby/object:Gem::Dependency
73
- name: ci_reporter
74
- prerelease: false
75
- requirement: &id006 !ruby/object:Gem::Requirement
76
- none: false
77
- requirements:
78
- - - ~>
79
- - !ruby/object:Gem::Version
80
- version: "1.6"
81
- - - ">="
82
- - !ruby/object:Gem::Version
83
- version: 1.6.2
84
- type: :development
85
- version_requirements: *id006
86
- - !ruby/object:Gem::Dependency
87
- name: webmock
88
- prerelease: false
89
- requirement: &id007 !ruby/object:Gem::Requirement
90
- none: false
91
- requirements:
92
- - - ~>
93
- - !ruby/object:Gem::Version
94
- version: "1.7"
95
- - - ">="
96
- - !ruby/object:Gem::Version
97
- version: 1.7.5
98
- type: :development
99
- version_requirements: *id007
100
- - !ruby/object:Gem::Dependency
101
- name: yard
102
- prerelease: false
103
- requirement: &id008 !ruby/object:Gem::Requirement
104
- none: false
105
- requirements:
106
- - - ~>
107
- - !ruby/object:Gem::Version
108
- version: 0.8.7
109
- type: :development
110
- version_requirements: *id008
111
- description: |-
112
- WebDriver is a tool for writing automated tests of websites.
113
- It aims to mimic the behaviour of a real user, and as such interacts with the
114
- HTML of the application.
115
- email:
116
- - p0deje@gmail.com
117
- - titusfortner@gmail.com
13
+ date: 2020-03-18 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - ">="
19
+ - !ruby/object:Gem::Version
20
+ version: '0.5'
21
+ - - "<"
22
+ - !ruby/object:Gem::Version
23
+ version: '4.0'
24
+ name: childprocess
25
+ prerelease: false
26
+ type: :runtime
27
+ version_requirements: !ruby/object:Gem::Requirement
28
+ requirements:
29
+ - - ">="
30
+ - !ruby/object:Gem::Version
31
+ version: '0.5'
32
+ - - "<"
33
+ - !ruby/object:Gem::Version
34
+ version: '4.0'
35
+ - !ruby/object:Gem::Dependency
36
+ requirement: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: 1.2.2
41
+ name: rubyzip
42
+ prerelease: false
43
+ type: :runtime
44
+ version_requirements: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - ">="
47
+ - !ruby/object:Gem::Version
48
+ version: 1.2.2
49
+ - !ruby/object:Gem::Dependency
50
+ requirement: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '1.0'
55
+ name: websocket
56
+ prerelease: false
57
+ type: :runtime
58
+ version_requirements: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - "~>"
61
+ - !ruby/object:Gem::Version
62
+ version: '1.0'
63
+ - !ruby/object:Gem::Dependency
64
+ requirement: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ name: ffi
70
+ prerelease: false
71
+ type: :development
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - ">="
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
77
+ - !ruby/object:Gem::Dependency
78
+ requirement: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '2.0'
83
+ name: rack
84
+ prerelease: false
85
+ type: :development
86
+ version_requirements: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - "~>"
89
+ - !ruby/object:Gem::Version
90
+ version: '2.0'
91
+ - !ruby/object:Gem::Dependency
92
+ requirement: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ name: rake
98
+ prerelease: false
99
+ type: :development
100
+ version_requirements: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - ">="
103
+ - !ruby/object:Gem::Version
104
+ version: '0'
105
+ - !ruby/object:Gem::Dependency
106
+ requirement: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '3.0'
111
+ name: rspec
112
+ prerelease: false
113
+ type: :development
114
+ version_requirements: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - "~>"
117
+ - !ruby/object:Gem::Version
118
+ version: '3.0'
119
+ - !ruby/object:Gem::Dependency
120
+ requirement: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: 0.73.0
125
+ name: rubocop
126
+ prerelease: false
127
+ type: :development
128
+ version_requirements: !ruby/object:Gem::Requirement
129
+ requirements:
130
+ - - "~>"
131
+ - !ruby/object:Gem::Version
132
+ version: 0.73.0
133
+ - !ruby/object:Gem::Dependency
134
+ requirement: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ name: rubocop-performance
140
+ prerelease: false
141
+ type: :development
142
+ version_requirements: !ruby/object:Gem::Requirement
143
+ requirements:
144
+ - - ">="
145
+ - !ruby/object:Gem::Version
146
+ version: '0'
147
+ - !ruby/object:Gem::Dependency
148
+ requirement: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
+ name: rubocop-rspec
154
+ prerelease: false
155
+ type: :development
156
+ version_requirements: !ruby/object:Gem::Requirement
157
+ requirements:
158
+ - - ">="
159
+ - !ruby/object:Gem::Version
160
+ version: '0'
161
+ - !ruby/object:Gem::Dependency
162
+ requirement: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - "~>"
165
+ - !ruby/object:Gem::Version
166
+ version: '3.5'
167
+ name: webmock
168
+ prerelease: false
169
+ type: :development
170
+ version_requirements: !ruby/object:Gem::Requirement
171
+ requirements:
172
+ - - "~>"
173
+ - !ruby/object:Gem::Version
174
+ version: '3.5'
175
+ - !ruby/object:Gem::Dependency
176
+ requirement: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - "~>"
179
+ - !ruby/object:Gem::Version
180
+ version: 0.9.11
181
+ name: yard
182
+ prerelease: false
183
+ type: :development
184
+ version_requirements: !ruby/object:Gem::Requirement
185
+ requirements:
186
+ - - "~>"
187
+ - !ruby/object:Gem::Version
188
+ version: 0.9.11
189
+ description: WebDriver is a tool for writing automated tests of websites. It aims
190
+ to mimic the behaviour of a real user, and as such interacts with the HTML of the
191
+ application.
192
+ email:
193
+ - p0deje@gmail.com
194
+ - titusfortner@gmail.com
195
+ - twalpole@gmail.com
118
196
  executables: []
119
-
120
197
  extensions: []
121
-
122
198
  extra_rdoc_files: []
123
-
124
- files:
125
- - CHANGES
126
- - Gemfile
127
- - LICENSE
128
- - README.md
129
- - selenium-webdriver.gemspec
130
- - lib/selenium-webdriver.rb
131
- - lib/selenium/server.rb
132
- - lib/selenium/webdriver.rb
133
- - lib/selenium/webdriver/atoms.rb
134
- - lib/selenium/webdriver/chrome.rb
135
- - lib/selenium/webdriver/common.rb
136
- - lib/selenium/webdriver/edge.rb
137
- - lib/selenium/webdriver/firefox.rb
138
- - lib/selenium/webdriver/ie.rb
139
- - lib/selenium/webdriver/phantomjs.rb
140
- - lib/selenium/webdriver/remote.rb
141
- - lib/selenium/webdriver/safari.rb
142
- - lib/selenium/webdriver/support.rb
143
- - lib/selenium/webdriver/atoms/getAttribute.js
144
- - lib/selenium/webdriver/chrome/bridge.rb
145
- - lib/selenium/webdriver/chrome/profile.rb
146
- - lib/selenium/webdriver/chrome/service.rb
147
- - lib/selenium/webdriver/common/action_builder.rb
148
- - lib/selenium/webdriver/common/alert.rb
149
- - lib/selenium/webdriver/common/bridge_helper.rb
150
- - lib/selenium/webdriver/common/driver.rb
151
- - lib/selenium/webdriver/common/element.rb
152
- - lib/selenium/webdriver/common/error.rb
153
- - lib/selenium/webdriver/common/file_reaper.rb
154
- - lib/selenium/webdriver/common/keyboard.rb
155
- - lib/selenium/webdriver/common/keys.rb
156
- - lib/selenium/webdriver/common/log_entry.rb
157
- - lib/selenium/webdriver/common/logs.rb
158
- - lib/selenium/webdriver/common/mouse.rb
159
- - lib/selenium/webdriver/common/navigation.rb
160
- - lib/selenium/webdriver/common/options.rb
161
- - lib/selenium/webdriver/common/platform.rb
162
- - lib/selenium/webdriver/common/port_prober.rb
163
- - lib/selenium/webdriver/common/profile_helper.rb
164
- - lib/selenium/webdriver/common/proxy.rb
165
- - lib/selenium/webdriver/common/search_context.rb
166
- - lib/selenium/webdriver/common/service.rb
167
- - lib/selenium/webdriver/common/socket_lock.rb
168
- - lib/selenium/webdriver/common/socket_poller.rb
169
- - lib/selenium/webdriver/common/target_locator.rb
170
- - lib/selenium/webdriver/common/timeouts.rb
171
- - lib/selenium/webdriver/common/touch_action_builder.rb
172
- - lib/selenium/webdriver/common/touch_screen.rb
173
- - lib/selenium/webdriver/common/w3c_error.rb
174
- - lib/selenium/webdriver/common/wait.rb
175
- - lib/selenium/webdriver/common/window.rb
176
- - lib/selenium/webdriver/common/zipper.rb
177
- - lib/selenium/webdriver/common/driver_extensions/has_input_devices.rb
178
- - lib/selenium/webdriver/common/driver_extensions/has_location.rb
179
- - lib/selenium/webdriver/common/driver_extensions/has_network_connection.rb
180
- - lib/selenium/webdriver/common/driver_extensions/has_remote_status.rb
181
- - lib/selenium/webdriver/common/driver_extensions/has_session_id.rb
182
- - lib/selenium/webdriver/common/driver_extensions/has_touch_screen.rb
183
- - lib/selenium/webdriver/common/driver_extensions/has_web_storage.rb
184
- - lib/selenium/webdriver/common/driver_extensions/rotatable.rb
185
- - lib/selenium/webdriver/common/driver_extensions/takes_screenshot.rb
186
- - lib/selenium/webdriver/common/driver_extensions/uploads_files.rb
187
- - lib/selenium/webdriver/common/html5/local_storage.rb
188
- - lib/selenium/webdriver/common/html5/session_storage.rb
189
- - lib/selenium/webdriver/common/html5/shared_web_storage.rb
190
- - lib/selenium/webdriver/edge/bridge.rb
191
- - lib/selenium/webdriver/edge/legacy_support.rb
192
- - lib/selenium/webdriver/edge/service.rb
193
- - lib/selenium/webdriver/firefox/binary.rb
194
- - lib/selenium/webdriver/firefox/bridge.rb
195
- - lib/selenium/webdriver/firefox/extension.rb
196
- - lib/selenium/webdriver/firefox/launcher.rb
197
- - lib/selenium/webdriver/firefox/profile.rb
198
- - lib/selenium/webdriver/firefox/profiles_ini.rb
199
- - lib/selenium/webdriver/firefox/service.rb
200
- - lib/selenium/webdriver/firefox/util.rb
201
- - lib/selenium/webdriver/firefox/w3c_bridge.rb
202
- - lib/selenium/webdriver/firefox/extension/prefs.json
203
- - lib/selenium/webdriver/firefox/extension/webdriver.xpi
204
- - lib/selenium/webdriver/firefox/native/linux/amd64/x_ignore_nofocus.so
205
- - lib/selenium/webdriver/firefox/native/linux/x86/x_ignore_nofocus.so
206
- - lib/selenium/webdriver/ie/bridge.rb
207
- - lib/selenium/webdriver/ie/service.rb
208
- - lib/selenium/webdriver/phantomjs/bridge.rb
209
- - lib/selenium/webdriver/phantomjs/service.rb
210
- - lib/selenium/webdriver/remote/bridge.rb
211
- - lib/selenium/webdriver/remote/capabilities.rb
212
- - lib/selenium/webdriver/remote/commands.rb
213
- - lib/selenium/webdriver/remote/response.rb
214
- - lib/selenium/webdriver/remote/server_error.rb
215
- - lib/selenium/webdriver/remote/w3c_bridge.rb
216
- - lib/selenium/webdriver/remote/w3c_capabilities.rb
217
- - lib/selenium/webdriver/remote/w3c_commands.rb
218
- - lib/selenium/webdriver/remote/http/common.rb
219
- - lib/selenium/webdriver/remote/http/curb.rb
220
- - lib/selenium/webdriver/remote/http/default.rb
221
- - lib/selenium/webdriver/remote/http/persistent.rb
222
- - lib/selenium/webdriver/safari/bridge.rb
223
- - lib/selenium/webdriver/safari/service.rb
224
- - lib/selenium/webdriver/support/abstract_event_listener.rb
225
- - lib/selenium/webdriver/support/block_event_listener.rb
226
- - lib/selenium/webdriver/support/color.rb
227
- - lib/selenium/webdriver/support/escaper.rb
228
- - lib/selenium/webdriver/support/event_firing_bridge.rb
229
- - lib/selenium/webdriver/support/select.rb
230
- has_rdoc: true
231
- homepage: https://github.com/seleniumhq/selenium
232
- licenses:
233
- - Apache
234
- post_install_message:
199
+ files:
200
+ - CHANGES
201
+ - Gemfile
202
+ - LICENSE
203
+ - README.md
204
+ - lib/selenium-webdriver.rb
205
+ - lib/selenium/server.rb
206
+ - lib/selenium/webdriver.rb
207
+ - lib/selenium/webdriver/atoms.rb
208
+ - lib/selenium/webdriver/atoms/findElements.js
209
+ - lib/selenium/webdriver/atoms/getAttribute.js
210
+ - lib/selenium/webdriver/atoms/isDisplayed.js
211
+ - lib/selenium/webdriver/chrome.rb
212
+ - lib/selenium/webdriver/chrome/bridge.rb
213
+ - lib/selenium/webdriver/chrome/driver.rb
214
+ - lib/selenium/webdriver/chrome/options.rb
215
+ - lib/selenium/webdriver/chrome/profile.rb
216
+ - lib/selenium/webdriver/chrome/service.rb
217
+ - lib/selenium/webdriver/common.rb
218
+ - lib/selenium/webdriver/common/action_builder.rb
219
+ - lib/selenium/webdriver/common/alert.rb
220
+ - lib/selenium/webdriver/common/driver.rb
221
+ - lib/selenium/webdriver/common/driver_extensions/downloads_files.rb
222
+ - lib/selenium/webdriver/common/driver_extensions/has_addons.rb
223
+ - lib/selenium/webdriver/common/driver_extensions/has_debugger.rb
224
+ - lib/selenium/webdriver/common/driver_extensions/has_devtools.rb
225
+ - lib/selenium/webdriver/common/driver_extensions/has_location.rb
226
+ - lib/selenium/webdriver/common/driver_extensions/has_network_conditions.rb
227
+ - lib/selenium/webdriver/common/driver_extensions/has_network_connection.rb
228
+ - lib/selenium/webdriver/common/driver_extensions/has_permissions.rb
229
+ - lib/selenium/webdriver/common/driver_extensions/has_remote_status.rb
230
+ - lib/selenium/webdriver/common/driver_extensions/has_session_id.rb
231
+ - lib/selenium/webdriver/common/driver_extensions/has_web_storage.rb
232
+ - lib/selenium/webdriver/common/driver_extensions/rotatable.rb
233
+ - lib/selenium/webdriver/common/driver_extensions/takes_screenshot.rb
234
+ - lib/selenium/webdriver/common/driver_extensions/uploads_files.rb
235
+ - lib/selenium/webdriver/common/element.rb
236
+ - lib/selenium/webdriver/common/error.rb
237
+ - lib/selenium/webdriver/common/file_reaper.rb
238
+ - lib/selenium/webdriver/common/html5/local_storage.rb
239
+ - lib/selenium/webdriver/common/html5/session_storage.rb
240
+ - lib/selenium/webdriver/common/html5/shared_web_storage.rb
241
+ - lib/selenium/webdriver/common/interactions/input_device.rb
242
+ - lib/selenium/webdriver/common/interactions/interaction.rb
243
+ - lib/selenium/webdriver/common/interactions/interactions.rb
244
+ - lib/selenium/webdriver/common/interactions/key_actions.rb
245
+ - lib/selenium/webdriver/common/interactions/key_input.rb
246
+ - lib/selenium/webdriver/common/interactions/none_input.rb
247
+ - lib/selenium/webdriver/common/interactions/pointer_actions.rb
248
+ - lib/selenium/webdriver/common/interactions/pointer_input.rb
249
+ - lib/selenium/webdriver/common/keys.rb
250
+ - lib/selenium/webdriver/common/log_entry.rb
251
+ - lib/selenium/webdriver/common/logger.rb
252
+ - lib/selenium/webdriver/common/logs.rb
253
+ - lib/selenium/webdriver/common/manager.rb
254
+ - lib/selenium/webdriver/common/navigation.rb
255
+ - lib/selenium/webdriver/common/options.rb
256
+ - lib/selenium/webdriver/common/platform.rb
257
+ - lib/selenium/webdriver/common/port_prober.rb
258
+ - lib/selenium/webdriver/common/profile_helper.rb
259
+ - lib/selenium/webdriver/common/proxy.rb
260
+ - lib/selenium/webdriver/common/search_context.rb
261
+ - lib/selenium/webdriver/common/service.rb
262
+ - lib/selenium/webdriver/common/socket_lock.rb
263
+ - lib/selenium/webdriver/common/socket_poller.rb
264
+ - lib/selenium/webdriver/common/target_locator.rb
265
+ - lib/selenium/webdriver/common/timeouts.rb
266
+ - lib/selenium/webdriver/common/wait.rb
267
+ - lib/selenium/webdriver/common/window.rb
268
+ - lib/selenium/webdriver/common/zipper.rb
269
+ - lib/selenium/webdriver/edge.rb
270
+ - lib/selenium/webdriver/edge_chrome/bridge.rb
271
+ - lib/selenium/webdriver/edge_chrome/driver.rb
272
+ - lib/selenium/webdriver/edge_chrome/options.rb
273
+ - lib/selenium/webdriver/edge_chrome/profile.rb
274
+ - lib/selenium/webdriver/edge_chrome/service.rb
275
+ - lib/selenium/webdriver/edge_html/driver.rb
276
+ - lib/selenium/webdriver/edge_html/options.rb
277
+ - lib/selenium/webdriver/edge_html/service.rb
278
+ - lib/selenium/webdriver/firefox.rb
279
+ - lib/selenium/webdriver/firefox/bridge.rb
280
+ - lib/selenium/webdriver/firefox/driver.rb
281
+ - lib/selenium/webdriver/firefox/extension.rb
282
+ - lib/selenium/webdriver/firefox/options.rb
283
+ - lib/selenium/webdriver/firefox/profile.rb
284
+ - lib/selenium/webdriver/firefox/profiles_ini.rb
285
+ - lib/selenium/webdriver/firefox/service.rb
286
+ - lib/selenium/webdriver/ie.rb
287
+ - lib/selenium/webdriver/ie/driver.rb
288
+ - lib/selenium/webdriver/ie/options.rb
289
+ - lib/selenium/webdriver/ie/service.rb
290
+ - lib/selenium/webdriver/remote.rb
291
+ - lib/selenium/webdriver/remote/bridge.rb
292
+ - lib/selenium/webdriver/remote/capabilities.rb
293
+ - lib/selenium/webdriver/remote/commands.rb
294
+ - lib/selenium/webdriver/remote/driver.rb
295
+ - lib/selenium/webdriver/remote/http/common.rb
296
+ - lib/selenium/webdriver/remote/http/curb.rb
297
+ - lib/selenium/webdriver/remote/http/default.rb
298
+ - lib/selenium/webdriver/remote/http/persistent.rb
299
+ - lib/selenium/webdriver/remote/response.rb
300
+ - lib/selenium/webdriver/remote/server_error.rb
301
+ - lib/selenium/webdriver/safari.rb
302
+ - lib/selenium/webdriver/safari/bridge.rb
303
+ - lib/selenium/webdriver/safari/driver.rb
304
+ - lib/selenium/webdriver/safari/options.rb
305
+ - lib/selenium/webdriver/safari/service.rb
306
+ - lib/selenium/webdriver/support.rb
307
+ - lib/selenium/webdriver/support/abstract_event_listener.rb
308
+ - lib/selenium/webdriver/support/block_event_listener.rb
309
+ - lib/selenium/webdriver/support/color.rb
310
+ - lib/selenium/webdriver/support/escaper.rb
311
+ - lib/selenium/webdriver/support/event_firing_bridge.rb
312
+ - lib/selenium/webdriver/support/relative_locator.rb
313
+ - lib/selenium/webdriver/support/select.rb
314
+ - lib/selenium/webdriver/version.rb
315
+ - selenium-webdriver.gemspec
316
+ homepage: https://github.com/SeleniumHQ/selenium
317
+ licenses:
318
+ - Apache-2.0
319
+ metadata:
320
+ changelog_uri: https://github.com/SeleniumHQ/selenium/blob/master/rb/CHANGES
321
+ source_code_uri: https://github.com/SeleniumHQ/selenium/tree/master/rb
322
+ post_install_message:
235
323
  rdoc_options: []
236
-
237
- require_paths:
238
- - lib
239
- required_ruby_version: !ruby/object:Gem::Requirement
240
- none: false
241
- requirements:
242
- - - ">="
243
- - !ruby/object:Gem::Version
244
- version: "2.0"
245
- required_rubygems_version: !ruby/object:Gem::Requirement
246
- none: false
247
- requirements:
248
- - - ">"
249
- - !ruby/object:Gem::Version
250
- version: 1.3.1
324
+ require_paths:
325
+ - lib
326
+ required_ruby_version: !ruby/object:Gem::Requirement
327
+ requirements:
328
+ - - ">="
329
+ - !ruby/object:Gem::Version
330
+ version: '2.4'
331
+ required_rubygems_version: !ruby/object:Gem::Requirement
332
+ requirements:
333
+ - - ">"
334
+ - !ruby/object:Gem::Version
335
+ version: 1.3.1
251
336
  requirements: []
252
-
253
- rubyforge_project:
254
- rubygems_version: 1.4.1
255
- signing_key:
256
- specification_version: 3
337
+ rubyforge_project:
338
+ rubygems_version: 2.7.9
339
+ signing_key:
340
+ specification_version: 4
257
341
  summary: The next generation developer focused tool for automated testing of webapps
258
342
  test_files: []
259
-