watir 7.0.0.beta2 → 7.0.0.beta3
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.
- checksums.yaml +4 -4
- data/CHANGES.md +6 -0
- data/lib/watir/capabilities.rb +35 -4
- data/lib/watir/version.rb +1 -1
- data/spec/unit/capabilities_spec.rb +100 -44
- data/spec/watirspec/elements/date_field_spec.rb +3 -3
- data/spec/watirspec/elements/date_time_field_spec.rb +3 -3
- data/spec/watirspec/support/rspec_matchers.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ebf40b52023085fd593f26f448268e0f00c51dbaf80fc3af9801d9d8c9d7703b
|
4
|
+
data.tar.gz: f42ee61445dc9ab61a6d236597bd67c84a2fdd837a5af0cc2236ae1eb6e19467
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 61cd3f3f3cf9f3d3739ed006de8b41ad4cf60336953b518e9c993e0fafb09c7dd0d7903bbf2099d562987b91ff1aa4b351108b78767ea98b65e6eb53de78f451
|
7
|
+
data.tar.gz: '09017e544063c107aa91865759b4f61366476178b9c55f6b64f6bc81958eb6236d44621baff328ab4587d752a3e99be169ce9cf4be11443354d48dc019d6b04a'
|
data/CHANGES.md
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
### 7.0.0.beta3 (2021-05-05)
|
2
|
+
|
3
|
+
* Fix Bug preventing proper use of vendor extension capabilities
|
4
|
+
* Changed how timeouts are supported in Watir Capabilities (#932)
|
5
|
+
* Changed the default Alert Behavior not to automatically get dismissed when an exception happens (#931)
|
6
|
+
|
1
7
|
### 7.0.0.beta2 (2021-03-28)
|
2
8
|
|
3
9
|
* Replace Watir Logger implementation with Selenium Logger subclass
|
data/lib/watir/capabilities.rb
CHANGED
@@ -63,15 +63,46 @@ module Watir
|
|
63
63
|
end
|
64
64
|
|
65
65
|
def process_browser_options
|
66
|
-
browser_options = @options.delete(:options) || {}
|
66
|
+
browser_options = @options.delete(:options).dup || {}
|
67
|
+
vendor_caps = process_vendor_capabilities(browser_options)
|
67
68
|
|
68
|
-
options =
|
69
|
-
|
69
|
+
options = if browser_options.is_a? Selenium::WebDriver::Options
|
70
|
+
browser_options
|
71
|
+
else
|
72
|
+
convert_timeouts(browser_options)
|
73
|
+
Selenium::WebDriver::Options.send(@browser, **browser_options)
|
74
|
+
end
|
70
75
|
|
76
|
+
options.unhandled_prompt_behavior ||= :ignore
|
71
77
|
browser_specific_options(options)
|
72
78
|
raise ArgumentError, "#{@options} are unrecognized arguments for Browser constructor" unless @options.empty?
|
73
79
|
|
74
|
-
options
|
80
|
+
vendor_caps << options
|
81
|
+
end
|
82
|
+
|
83
|
+
def process_vendor_capabilities(opts)
|
84
|
+
return [] unless opts.is_a? Hash
|
85
|
+
|
86
|
+
vendor = opts.select { |key, _val| key.to_s.include?(':') && opts.delete(key) }
|
87
|
+
vendor.map { |k, v| Selenium::WebDriver::Remote::Capabilities.new(k => v) }
|
88
|
+
end
|
89
|
+
|
90
|
+
def convert_timeouts(browser_options)
|
91
|
+
browser_options[:timeouts] ||= {}
|
92
|
+
browser_options[:timeouts].keys.each do |key|
|
93
|
+
raise(ArgumentError, 'do not set implicit wait, Watir handles waiting automatically') if key.to_s == 'implicit'
|
94
|
+
|
95
|
+
Watir.logger.deprecate('using timeouts directly in options',
|
96
|
+
":#{key}_timeout",
|
97
|
+
id: 'timeouts')
|
98
|
+
end
|
99
|
+
if browser_options.key?(:page_load_timeout)
|
100
|
+
browser_options[:timeouts][:page_load] = browser_options.delete(:page_load_timeout) * 1000
|
101
|
+
end
|
102
|
+
|
103
|
+
return unless browser_options.key?(:script_timeout)
|
104
|
+
|
105
|
+
browser_options[:timeouts][:script] = browser_options.delete(:script_timeout) * 1000
|
75
106
|
end
|
76
107
|
|
77
108
|
def browser_specific_options(options)
|
data/lib/watir/version.rb
CHANGED
@@ -48,7 +48,7 @@ describe Watir::Capabilities do
|
|
48
48
|
|
49
49
|
args = capabilities.to_args
|
50
50
|
expect(args.last[:http_client]).to be_a Watir::HttpClient
|
51
|
-
expect(args.last[:capabilities]).to be_a options_class(browser_symbol)
|
51
|
+
expect(args.last[:capabilities].first).to be_a options_class(browser_symbol)
|
52
52
|
expect(args.last).not_to include(:service)
|
53
53
|
end
|
54
54
|
|
@@ -58,7 +58,7 @@ describe Watir::Capabilities do
|
|
58
58
|
args = capabilities.to_args
|
59
59
|
|
60
60
|
expect(args.last[:http_client]).to be_a Watir::HttpClient
|
61
|
-
expect(args.last[:capabilities]).to be_a options_class(browser_symbol)
|
61
|
+
expect(args.last[:capabilities].first).to be_a options_class(browser_symbol)
|
62
62
|
expect(args.last).not_to include(:service)
|
63
63
|
end
|
64
64
|
|
@@ -152,6 +152,57 @@ describe Watir::Capabilities do
|
|
152
152
|
Watir::Capabilities.new(browser_symbol, capabilities: caps, options: opts)
|
153
153
|
}.to raise_exception(ArgumentError, ':capabilities and :options are not both allowed')
|
154
154
|
end
|
155
|
+
|
156
|
+
context 'timeout options' do
|
157
|
+
it 'accepts page load and script timeouts in seconds' do
|
158
|
+
options = {page_load_timeout: 11,
|
159
|
+
script_timeout: 12}
|
160
|
+
capabilities = Watir::Capabilities.new(browser_symbol, options: options)
|
161
|
+
args = capabilities.to_args
|
162
|
+
actual_options = args.last[:capabilities].first
|
163
|
+
expect(actual_options.timeouts[:page_load]).to eq 11_000
|
164
|
+
expect(actual_options.timeouts[:script]).to eq 12_000
|
165
|
+
end
|
166
|
+
|
167
|
+
it 'has deprecated timeouts key with page load warning' do
|
168
|
+
options = {timeouts: {page_load: 11}}
|
169
|
+
capabilities = Watir::Capabilities.new(browser_symbol, options: options)
|
170
|
+
msg = 'timeouts has been deprecated, use page_load_timeout (in seconds) directly instead'
|
171
|
+
expect {
|
172
|
+
capabilities.to_args
|
173
|
+
}.to have_deprecated_timeouts(msg)
|
174
|
+
end
|
175
|
+
|
176
|
+
it 'has deprecated timeouts key with script warning' do
|
177
|
+
options = {timeouts: {script: 11}}
|
178
|
+
expect {
|
179
|
+
capabilities = Watir::Capabilities.new(browser_symbol, options: options)
|
180
|
+
capabilities.to_args
|
181
|
+
}.to have_deprecated_timeouts('timeouts has been deprecated, use script_timeout (in seconds) directly instead')
|
182
|
+
end
|
183
|
+
|
184
|
+
it 'does not allow implicit wait timeout in timeouts hash' do
|
185
|
+
options = {timeouts: {implicit: 1}}
|
186
|
+
capabilities = Watir::Capabilities.new(browser_symbol, options: options)
|
187
|
+
expect {
|
188
|
+
capabilities.to_args
|
189
|
+
}.to raise_exception(ArgumentError, 'do not set implicit wait, Watir handles waiting automatically')
|
190
|
+
end
|
191
|
+
end
|
192
|
+
|
193
|
+
it 'unhandled prompt behavior defaults to ignore' do
|
194
|
+
capabilities = Watir::Capabilities.new(browser_symbol)
|
195
|
+
args = capabilities.to_args
|
196
|
+
actual_options = args.last[:capabilities].first
|
197
|
+
expect(actual_options.unhandled_prompt_behavior).to eq :ignore
|
198
|
+
end
|
199
|
+
|
200
|
+
it 'unhandled prompt behavior can be overridden' do
|
201
|
+
capabilities = Watir::Capabilities.new(browser_symbol, options: {unhandled_prompt_behavior: :accept_and_notify})
|
202
|
+
args = capabilities.to_args
|
203
|
+
actual_options = args.last[:capabilities].first
|
204
|
+
expect(actual_options.unhandled_prompt_behavior).to eq :accept_and_notify
|
205
|
+
end
|
155
206
|
end
|
156
207
|
|
157
208
|
# Options:
|
@@ -167,11 +218,11 @@ describe Watir::Capabilities do
|
|
167
218
|
capabilities = Watir::Capabilities.new(url: 'http://example.com')
|
168
219
|
args = capabilities.to_args
|
169
220
|
expect(args.first).to eq :remote
|
170
|
-
actual_options = args.last[:capabilities]
|
221
|
+
actual_options = args.last[:capabilities].first
|
171
222
|
expect(actual_options.browser_name).to eq 'chrome'
|
172
223
|
end
|
173
224
|
|
174
|
-
it 'browser name
|
225
|
+
it 'just url & browser name has capabilities and client but not service' do
|
175
226
|
capabilities = Watir::Capabilities.new(:firefox,
|
176
227
|
url: 'https://example.com/wd/hub/')
|
177
228
|
args = capabilities.to_args
|
@@ -179,7 +230,7 @@ describe Watir::Capabilities do
|
|
179
230
|
expect(args.last[:url]).to eq 'https://example.com/wd/hub/'
|
180
231
|
expect(args.last[:http_client]).to be_a Watir::HttpClient
|
181
232
|
|
182
|
-
expect(args.last[:capabilities]).to be_a Selenium::WebDriver::Firefox::Options
|
233
|
+
expect(args.last[:capabilities].first).to be_a Selenium::WebDriver::Firefox::Options
|
183
234
|
expect(args.last).not_to include(:service)
|
184
235
|
end
|
185
236
|
|
@@ -192,7 +243,7 @@ describe Watir::Capabilities do
|
|
192
243
|
expect(args.last[:listener]).to eq listener
|
193
244
|
end
|
194
245
|
|
195
|
-
it '
|
246
|
+
it 'accepts http client object' do
|
196
247
|
client = Watir::HttpClient.new
|
197
248
|
capabilities = Watir::Capabilities.new(:chrome,
|
198
249
|
url: 'https://example.com/wd/hub',
|
@@ -200,33 +251,33 @@ describe Watir::Capabilities do
|
|
200
251
|
args = capabilities.to_args
|
201
252
|
expect(args.first).to eq :remote
|
202
253
|
expect(args.last[:http_client]).to eq client
|
203
|
-
actual_options = args.last[:capabilities]
|
254
|
+
actual_options = args.last[:capabilities].first
|
204
255
|
expect(actual_options.browser_name).to eq 'chrome'
|
205
256
|
end
|
206
257
|
|
207
|
-
it '
|
258
|
+
it 'accepts http client Hash' do
|
208
259
|
capabilities = Watir::Capabilities.new(:chrome,
|
209
260
|
url: 'https://example.com/wd/hub',
|
210
261
|
http_client: {read_timeout: 30})
|
211
262
|
args = capabilities.to_args
|
212
263
|
expect(args.first).to eq :remote
|
213
264
|
expect(args.last[:http_client].instance_variable_get('@read_timeout')).to eq 30
|
214
|
-
actual_options = args.last[:capabilities]
|
265
|
+
actual_options = args.last[:capabilities].first
|
215
266
|
expect(actual_options.browser_name).to eq 'chrome'
|
216
267
|
end
|
217
268
|
|
218
|
-
it '
|
269
|
+
it 'accepts options object' do
|
219
270
|
capabilities = Watir::Capabilities.new(:chrome,
|
220
271
|
url: 'https://example.com/wd/hub',
|
221
272
|
options: Selenium::WebDriver::Chrome::Options.new(args: ['--foo']))
|
222
273
|
args = capabilities.to_args
|
223
274
|
expect(args.first).to eq :remote
|
224
|
-
actual_options = args.last[:capabilities]
|
275
|
+
actual_options = args.last[:capabilities].first
|
225
276
|
expect(actual_options.browser_name).to eq 'chrome'
|
226
277
|
expect(actual_options.args).to include('--foo')
|
227
278
|
end
|
228
279
|
|
229
|
-
it '
|
280
|
+
it 'accepts options hash' do
|
230
281
|
options = {prefs: {foo: 'bar'}}
|
231
282
|
capabilities = Watir::Capabilities.new(:chrome,
|
232
283
|
url: 'http://example.com',
|
@@ -234,12 +285,12 @@ describe Watir::Capabilities do
|
|
234
285
|
args = capabilities.to_args
|
235
286
|
expect(args.first).to eq :remote
|
236
287
|
expect(args.last[:url]).to eq 'http://example.com'
|
237
|
-
actual_options = args.last[:capabilities]
|
288
|
+
actual_options = args.last[:capabilities].first
|
238
289
|
expect(actual_options).to be_a(Selenium::WebDriver::Chrome::Options)
|
239
290
|
expect(actual_options.prefs).to eq(foo: 'bar')
|
240
291
|
end
|
241
292
|
|
242
|
-
it '
|
293
|
+
it 'accepts capabilities object' do
|
243
294
|
caps = Watir::Capabilities.new(:chrome,
|
244
295
|
url: 'https://example.com/wd/hub',
|
245
296
|
capabilities: Selenium::WebDriver::Remote::Capabilities.chrome)
|
@@ -250,7 +301,7 @@ describe Watir::Capabilities do
|
|
250
301
|
expect(actual_capabilities.browser_name).to eq 'chrome'
|
251
302
|
end
|
252
303
|
|
253
|
-
it '
|
304
|
+
it 'accepts http client & capabilities objects' do
|
254
305
|
client = Watir::HttpClient.new
|
255
306
|
caps = Watir::Capabilities.new(:chrome,
|
256
307
|
url: 'https://example.com/wd/hub',
|
@@ -265,7 +316,7 @@ describe Watir::Capabilities do
|
|
265
316
|
expect(actual_capabilities.browser_name).to eq 'chrome'
|
266
317
|
end
|
267
318
|
|
268
|
-
it '
|
319
|
+
it 'accepts http client & options objects' do
|
269
320
|
client = Watir::HttpClient.new
|
270
321
|
options = Selenium::WebDriver::Chrome::Options.new(prefs: {foo: 'bar'})
|
271
322
|
caps = Watir::Capabilities.new(:chrome,
|
@@ -276,12 +327,12 @@ describe Watir::Capabilities do
|
|
276
327
|
args = caps.to_args
|
277
328
|
expect(args.first).to eq :remote
|
278
329
|
expect(args.last[:http_client]).to eq client
|
279
|
-
actual_options = args.last[:capabilities]
|
330
|
+
actual_options = args.last[:capabilities].first
|
280
331
|
expect(actual_options).to be_a(Selenium::WebDriver::Chrome::Options)
|
281
332
|
expect(actual_options.prefs).to eq(foo: 'bar')
|
282
333
|
end
|
283
334
|
|
284
|
-
it '
|
335
|
+
it 'raises exception when both options & capabilities defined' do
|
285
336
|
options = {prefs: {foo: 'bar'}}
|
286
337
|
|
287
338
|
expect {
|
@@ -297,7 +348,7 @@ describe Watir::Capabilities do
|
|
297
348
|
headless: true,
|
298
349
|
url: 'http://example.com')
|
299
350
|
args = capabilities.to_args
|
300
|
-
actual_options = args.last[:capabilities]
|
351
|
+
actual_options = args.last[:capabilities].first
|
301
352
|
expect(actual_options.args).to include '--headless', '--disable-gpu'
|
302
353
|
end
|
303
354
|
|
@@ -307,17 +358,22 @@ describe Watir::Capabilities do
|
|
307
358
|
url: 'http://example.com')
|
308
359
|
args = capabilities.to_args
|
309
360
|
|
310
|
-
expect(args.last[:capabilities].args).to include '-headless'
|
361
|
+
expect(args.last[:capabilities].first.args).to include '-headless'
|
311
362
|
end
|
312
363
|
|
313
|
-
it '
|
364
|
+
it 'supports multiple vendor capabilities' do
|
365
|
+
sauce_options = {'sauce:options': {username: ENV['SAUCE_USERNAME'],
|
366
|
+
access_key: ENV['SAUCE_ACCESS_KEY']}}
|
367
|
+
other_options = {'other:options': {foo: 'bar'}}
|
368
|
+
|
314
369
|
capabilities = Watir::Capabilities.new(:chrome,
|
315
|
-
options:
|
316
|
-
access_key: ENV['SAUCE_ACCESS_KEY']}},
|
370
|
+
options: sauce_options.merge(other_options),
|
317
371
|
url: 'https://ondemand.us-west-1.saucelabs.com')
|
318
|
-
|
319
|
-
|
320
|
-
expect(
|
372
|
+
|
373
|
+
se_caps = capabilities.to_args.last[:capabilities]
|
374
|
+
expect(se_caps).to include(Selenium::WebDriver::Chrome::Options.new(unhandled_prompt_behavior: :ignore))
|
375
|
+
expect(se_caps).to include(Selenium::WebDriver::Remote::Capabilities.new(sauce_options))
|
376
|
+
expect(se_caps).to include(Selenium::WebDriver::Remote::Capabilities.new(other_options))
|
321
377
|
end
|
322
378
|
end
|
323
379
|
|
@@ -326,14 +382,14 @@ describe Watir::Capabilities do
|
|
326
382
|
capabilities = Watir::Capabilities.new
|
327
383
|
args = capabilities.to_args
|
328
384
|
expect(args.last[:http_client]).to be_a Watir::HttpClient
|
329
|
-
expect(args.last[:capabilities]).to be_a Selenium::WebDriver::Chrome::Options
|
385
|
+
expect(args.last[:capabilities].first).to be_a Selenium::WebDriver::Chrome::Options
|
330
386
|
expect(args.last).not_to include(:service)
|
331
387
|
end
|
332
388
|
|
333
389
|
it 'sets headless by creating options' do
|
334
390
|
capabilities = Watir::Capabilities.new(:chrome, headless: true)
|
335
391
|
args = capabilities.to_args
|
336
|
-
actual_options = args.last[:capabilities]
|
392
|
+
actual_options = args.last[:capabilities].first
|
337
393
|
expect(actual_options.args).to include '--headless', '--disable-gpu'
|
338
394
|
end
|
339
395
|
|
@@ -342,7 +398,7 @@ describe Watir::Capabilities do
|
|
342
398
|
options: Selenium::WebDriver::Chrome::Options.new,
|
343
399
|
headless: true)
|
344
400
|
args = capabilities.to_args
|
345
|
-
actual_options = args.last[:capabilities]
|
401
|
+
actual_options = args.last[:capabilities].first
|
346
402
|
expect(actual_options.args).to include '--headless', '--disable-gpu'
|
347
403
|
end
|
348
404
|
|
@@ -352,7 +408,7 @@ describe Watir::Capabilities do
|
|
352
408
|
options: options,
|
353
409
|
headless: true)
|
354
410
|
args = capabilities.to_args
|
355
|
-
actual_options = args.last[:capabilities]
|
411
|
+
actual_options = args.last[:capabilities].first
|
356
412
|
expect(actual_options.args).to include '--headless', '--disable-gpu', '--foo'
|
357
413
|
end
|
358
414
|
|
@@ -360,7 +416,7 @@ describe Watir::Capabilities do
|
|
360
416
|
options = {args: %w[--foo --bar]}
|
361
417
|
capabilities = Watir::Capabilities.new(:chrome, options: options)
|
362
418
|
args = capabilities.to_args
|
363
|
-
actual_options = args.last[:capabilities]
|
419
|
+
actual_options = args.last[:capabilities].first
|
364
420
|
expect(actual_options).to be_a Selenium::WebDriver::Chrome::Options
|
365
421
|
expect(actual_options.args).to include '--foo', '--bar'
|
366
422
|
end
|
@@ -371,7 +427,7 @@ describe Watir::Capabilities do
|
|
371
427
|
capabilities = Watir::Capabilities.new(:chrome,
|
372
428
|
options: opts)
|
373
429
|
args = capabilities.to_args
|
374
|
-
actual_options = args.last[:capabilities]
|
430
|
+
actual_options = args.last[:capabilities].first
|
375
431
|
expect(actual_options.page_load_strategy).to eq 'eager'
|
376
432
|
expect(actual_options.args).to include '--foo', '--bar'
|
377
433
|
end
|
@@ -384,7 +440,7 @@ describe Watir::Capabilities do
|
|
384
440
|
|
385
441
|
capabilities = Watir::Capabilities.new(:firefox, options: options)
|
386
442
|
|
387
|
-
actual_options = capabilities.to_args.last[:capabilities]
|
443
|
+
actual_options = capabilities.to_args.last[:capabilities].first
|
388
444
|
expect(actual_options.args).to include '--foo'
|
389
445
|
expect(actual_options.profile).to eq profile
|
390
446
|
end
|
@@ -395,7 +451,7 @@ describe Watir::Capabilities do
|
|
395
451
|
|
396
452
|
capabilities = Watir::Capabilities.new(:firefox, options: options)
|
397
453
|
|
398
|
-
actual_options = capabilities.to_args.last[:capabilities]
|
454
|
+
actual_options = capabilities.to_args.last[:capabilities].first
|
399
455
|
expect(actual_options.args).to include '--foo'
|
400
456
|
expect(actual_options.profile).to eq profile
|
401
457
|
end
|
@@ -403,7 +459,7 @@ describe Watir::Capabilities do
|
|
403
459
|
it 'sets headless by creating options' do
|
404
460
|
capabilities = Watir::Capabilities.new(:firefox, headless: true)
|
405
461
|
args = capabilities.to_args
|
406
|
-
actual_options = args.last[:capabilities]
|
462
|
+
actual_options = args.last[:capabilities].first
|
407
463
|
expect(actual_options.args).to include '-headless'
|
408
464
|
end
|
409
465
|
|
@@ -412,7 +468,7 @@ describe Watir::Capabilities do
|
|
412
468
|
options: Selenium::WebDriver::Firefox::Options.new,
|
413
469
|
headless: true)
|
414
470
|
args = capabilities.to_args
|
415
|
-
actual_options = args.last[:capabilities]
|
471
|
+
actual_options = args.last[:capabilities].first
|
416
472
|
expect(actual_options.args).to include '-headless'
|
417
473
|
end
|
418
474
|
|
@@ -422,7 +478,7 @@ describe Watir::Capabilities do
|
|
422
478
|
options: options,
|
423
479
|
headless: true)
|
424
480
|
args = capabilities.to_args
|
425
|
-
actual_options = args.last[:capabilities]
|
481
|
+
actual_options = args.last[:capabilities].first
|
426
482
|
expect(actual_options.args).to include '-headless', '-foo'
|
427
483
|
end
|
428
484
|
|
@@ -430,7 +486,7 @@ describe Watir::Capabilities do
|
|
430
486
|
options = {args: %w[--foo --bar]}
|
431
487
|
capabilities = Watir::Capabilities.new(:firefox, options: options)
|
432
488
|
args = capabilities.to_args
|
433
|
-
actual_options = args.last[:capabilities]
|
489
|
+
actual_options = args.last[:capabilities].first
|
434
490
|
expect(actual_options).to be_a Selenium::WebDriver::Firefox::Options
|
435
491
|
expect(actual_options.args).to include '--foo', '--bar'
|
436
492
|
end
|
@@ -441,7 +497,7 @@ describe Watir::Capabilities do
|
|
441
497
|
capabilities = Watir::Capabilities.new(:firefox,
|
442
498
|
options: opts)
|
443
499
|
args = capabilities.to_args
|
444
|
-
actual_options = args.last[:capabilities]
|
500
|
+
actual_options = args.last[:capabilities].first
|
445
501
|
expect(actual_options.args).to include '--foo', '--bar'
|
446
502
|
expect(actual_options.page_load_strategy).to eq 'eager'
|
447
503
|
end
|
@@ -460,7 +516,7 @@ describe Watir::Capabilities do
|
|
460
516
|
options = {automatic_inspection: true}
|
461
517
|
capabilities = Watir::Capabilities.new(:safari, options: options)
|
462
518
|
args = capabilities.to_args
|
463
|
-
actual_options = args.last[:capabilities]
|
519
|
+
actual_options = args.last[:capabilities].first
|
464
520
|
expect(actual_options).to be_a Selenium::WebDriver::Safari::Options
|
465
521
|
expect(actual_options.automatic_inspection).to eq true
|
466
522
|
end
|
@@ -471,7 +527,7 @@ describe Watir::Capabilities do
|
|
471
527
|
capabilities = Watir::Capabilities.new(:safari,
|
472
528
|
options: opts)
|
473
529
|
args = capabilities.to_args
|
474
|
-
actual_options = args.last[:capabilities]
|
530
|
+
actual_options = args.last[:capabilities].first
|
475
531
|
expect(actual_options.automatic_inspection).to eq true
|
476
532
|
expect(actual_options.page_load_strategy).to eq 'eager'
|
477
533
|
end
|
@@ -482,7 +538,7 @@ describe Watir::Capabilities do
|
|
482
538
|
options = {args: %w[--foo --bar]}
|
483
539
|
capabilities = Watir::Capabilities.new(:ie, options: options)
|
484
540
|
args = capabilities.to_args
|
485
|
-
actual_options = args.last[:capabilities]
|
541
|
+
actual_options = args.last[:capabilities].first
|
486
542
|
expect(actual_options).to be_a Selenium::WebDriver::IE::Options
|
487
543
|
expect(actual_options.args).to include '--foo', '--bar'
|
488
544
|
end
|
@@ -491,7 +547,7 @@ describe Watir::Capabilities do
|
|
491
547
|
options = {browser_attach_timeout: true}
|
492
548
|
capabilities = Watir::Capabilities.new(:ie, options: options)
|
493
549
|
args = capabilities.to_args
|
494
|
-
actual_options = args.last[:capabilities]
|
550
|
+
actual_options = args.last[:capabilities].first
|
495
551
|
expect(actual_options).to be_a Selenium::WebDriver::IE::Options
|
496
552
|
expect(actual_options.options[:browser_attach_timeout]).to eq true
|
497
553
|
end
|
@@ -502,7 +558,7 @@ describe Watir::Capabilities do
|
|
502
558
|
capabilities = Watir::Capabilities.new(:ie,
|
503
559
|
options: opts)
|
504
560
|
args = capabilities.to_args
|
505
|
-
actual_options = args.last[:capabilities]
|
561
|
+
actual_options = args.last[:capabilities].first
|
506
562
|
expect(actual_options.args).to include '--foo'
|
507
563
|
expect(actual_options.page_load_strategy).to eq 'eager'
|
508
564
|
end
|
@@ -20,7 +20,7 @@ describe 'DateField' do
|
|
20
20
|
end
|
21
21
|
|
22
22
|
it 'returns true when using xpath',
|
23
|
-
except: {browser:
|
23
|
+
except: {browser: :ie, reason: 'Date type not recognized'} do
|
24
24
|
expect(browser.date_field(xpath: "//input[@id='html5_date']")).to exist
|
25
25
|
end
|
26
26
|
|
@@ -29,7 +29,7 @@ describe 'DateField' do
|
|
29
29
|
end
|
30
30
|
|
31
31
|
it 'respects date fields types',
|
32
|
-
except: {browser:
|
32
|
+
except: {browser: :ie, reason: 'Date type not recognized'} do
|
33
33
|
expect(browser.date_field.type).to eq('date')
|
34
34
|
end
|
35
35
|
|
@@ -78,7 +78,7 @@ describe 'DateField' do
|
|
78
78
|
|
79
79
|
describe '#type' do
|
80
80
|
it 'returns the type attribute if the date field exists',
|
81
|
-
except: {browser:
|
81
|
+
except: {browser: :ie, reason: 'Date type not recognized'} do
|
82
82
|
expect(browser.date_field(id: 'html5_date').type).to eq 'date'
|
83
83
|
end
|
84
84
|
|
@@ -21,7 +21,7 @@ describe 'DateTimeField' do
|
|
21
21
|
|
22
22
|
it 'returns true if the datetime-local element exists',
|
23
23
|
except: [{browser: :firefox, reason: 'https://github.com/mozilla/geckodriver/issues/1469'},
|
24
|
-
{browser:
|
24
|
+
{browser: :ie, reason: 'Date type not recognized'}] do
|
25
25
|
expect(browser.date_time_field(xpath: "//input[@id='html5_datetime-local']")).to exist
|
26
26
|
end
|
27
27
|
|
@@ -31,7 +31,7 @@ describe 'DateTimeField' do
|
|
31
31
|
|
32
32
|
it 'respects date-time fields types',
|
33
33
|
except: [{browser: :firefox, reason: 'https://github.com/mozilla/geckodriver/issues/1469'},
|
34
|
-
{browser:
|
34
|
+
{browser: :ie, reason: 'Date type not recognized'}] do
|
35
35
|
expect(browser.date_time_field.type).to eq('datetime-local')
|
36
36
|
end
|
37
37
|
|
@@ -81,7 +81,7 @@ describe 'DateTimeField' do
|
|
81
81
|
describe '#type' do
|
82
82
|
it 'returns the type attribute if the date-time field exists',
|
83
83
|
except: [{browser: :firefox, reason: 'https://github.com/mozilla/geckodriver/issues/1469'},
|
84
|
-
{browser:
|
84
|
+
{browser: :ie, reason: 'Date type not recognized'}] do
|
85
85
|
expect(browser.date_time_field(id: 'html5_datetime-local').type).to eq 'datetime-local'
|
86
86
|
end
|
87
87
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: watir
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 7.0.0.
|
4
|
+
version: 7.0.0.beta3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alex Rodionov
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2021-
|
13
|
+
date: 2021-05-05 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: selenium-webdriver
|