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

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