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