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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 58e502e12250523b603418f4d352663d893762126b5cdb48e046e58a8a19bc20
4
- data.tar.gz: cd3405850e28a040968c7df99f93d87a2593ff7b2c34da4b8f0789cbe023df42
3
+ metadata.gz: ebf40b52023085fd593f26f448268e0f00c51dbaf80fc3af9801d9d8c9d7703b
4
+ data.tar.gz: f42ee61445dc9ab61a6d236597bd67c84a2fdd837a5af0cc2236ae1eb6e19467
5
5
  SHA512:
6
- metadata.gz: 0557ff99666998a7104b51ae07439d7245e645e2fe543d8a50ed2c191f3c8d5a04423e52c22b8065e3a5f7793ee7ce9101d64f54c0ca4349eec23d1b5057c3e7
7
- data.tar.gz: 1d36608975ae96d51ce119cd55f96a2d28eb0c9de2cb1194e33d9fe1429c09c5fdd86022c07bf1350617e60c6f667ce0bd818428f545e37f8eaebf65361fb883
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
@@ -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 = browser_options if browser_options.is_a? Selenium::WebDriver::Options
69
- options ||= Selenium::WebDriver::Options.send(@browser, **browser_options)
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
@@ -1,3 +1,3 @@
1
1
  module Watir
2
- VERSION = '7.0.0.beta2'.freeze
2
+ VERSION = '7.0.0.beta3'.freeze
3
3
  end
@@ -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 with url has capabilities and client but not service' do
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 'browser name with url and http client object' do
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 'browser name with url and http client Hash' do
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 'browser name with url and options object' do
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 'browser name with url and options hash' do
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 'browser name with url and capabilities' do
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 'browser name with http client & capabilities' do
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 'browser name with http client & options object' do
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 'browser name with options & capabilities' do
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 'allows sending to Browser Service Provider via options' do
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: {'sauce:options': {username: ENV['SAUCE_USERNAME'],
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
- args = capabilities.to_args
319
- actual_options = args.last[:capabilities].instance_variable_get('@options')
320
- expect(actual_options[:'sauce:options']).to include :username, :access_key
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: %i[ie safari], reason: 'Date type not recognized'} do
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: %i[ie safari], reason: 'Date type not recognized'} do
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: %i[ie safari], reason: 'Date type not recognized'} do
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: %i[ie safari], reason: 'Date type not recognized'}] do
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: %i[ie safari], reason: 'Date type not recognized'}] do
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: %i[ie safari], reason: 'Date type not recognized'}] do
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
 
@@ -1,5 +1,5 @@
1
1
  if defined?(RSpec)
2
- DEPRECATION_WARNINGS = %i[use_capabilities].freeze
2
+ DEPRECATION_WARNINGS = %i[timeouts].freeze
3
3
 
4
4
  DEPRECATION_WARNINGS.each do |deprecation|
5
5
  RSpec::Matchers.define "have_deprecated_#{deprecation}" do
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.beta2
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-03-28 00:00:00.000000000 Z
13
+ date: 2021-05-05 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: selenium-webdriver