selenium-webdriver 4.51.0 → 4.52.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES +15 -0
  3. data/Gemfile +14 -0
  4. data/README.md +20 -0
  5. data/bin/linux-arm64/selenium-manager +0 -0
  6. data/bin/linux-x86_64/selenium-manager +0 -0
  7. data/bin/macos/selenium-manager +0 -0
  8. data/bin/selenium-manager-THIRD-PARTY-NOTICES.txt +543 -226
  9. data/bin/selenium-manager.cdx.json +804 -722
  10. data/bin/windows/selenium-manager.exe +0 -0
  11. data/lib/selenium/webdriver/atoms/findElements.js +960 -250
  12. data/lib/selenium/webdriver/atoms/getAttribute.js +153 -127
  13. data/lib/selenium/webdriver/atoms/isDisplayed.js +433 -364
  14. data/lib/selenium/webdriver/atoms.rb +4 -1
  15. data/lib/selenium/webdriver/bidi/protocol/bluetooth.rb +6 -6
  16. data/lib/selenium/webdriver/bidi/protocol/browser.rb +21 -9
  17. data/lib/selenium/webdriver/bidi/protocol/browsing_context.rb +109 -39
  18. data/lib/selenium/webdriver/bidi/protocol/emulation.rb +89 -44
  19. data/lib/selenium/webdriver/bidi/protocol/input.rb +95 -31
  20. data/lib/selenium/webdriver/bidi/protocol/log.rb +4 -4
  21. data/lib/selenium/webdriver/bidi/protocol/moz_debugging.rb +12 -10
  22. data/lib/selenium/webdriver/bidi/protocol/moz_profiler.rb +4 -4
  23. data/lib/selenium/webdriver/bidi/protocol/network.rb +82 -39
  24. data/lib/selenium/webdriver/bidi/protocol/script.rb +38 -24
  25. data/lib/selenium/webdriver/bidi/protocol/session.rb +61 -8
  26. data/lib/selenium/webdriver/bidi/protocol/storage.rb +3 -3
  27. data/lib/selenium/webdriver/bidi/protocol/user_agent_client_hints.rb +3 -3
  28. data/lib/selenium/webdriver/bidi/protocol/web_extension.rb +17 -9
  29. data/lib/selenium/webdriver/bidi/serialization/record.rb +66 -24
  30. data/lib/selenium/webdriver/bidi/serialization.rb +2 -2
  31. data/lib/selenium/webdriver/bidi/support/bidi_generate.rb +228 -150
  32. data/lib/selenium/webdriver/common/client_config.rb +4 -1
  33. data/lib/selenium/webdriver/common/driver_finder.rb +5 -2
  34. data/lib/selenium/webdriver/common/websocket_connection.rb +51 -13
  35. data/lib/selenium/webdriver/remote/http/default.rb +17 -1
  36. data/lib/selenium/webdriver/version.rb +1 -1
  37. data/selenium-webdriver.gemspec +0 -12
  38. metadata +6 -163
@@ -197,8 +197,8 @@ module Selenium
197
197
  # @see https://w3c.github.io/webdriver-bidi/#cddl-type-emulationsetforcedcolorsmodethemeoverrideparameters
198
198
  SetForcedColorsModeThemeOverrideParameters = Serialization::Record.define(
199
199
  theme: {wire_key: 'theme', nullable: true, enum: 'Emulation::FORCED_COLORS_MODE_THEME'},
200
- contexts: {wire_key: 'contexts', required: false, list: true},
201
- user_contexts: {wire_key: 'userContexts', required: false, list: true}
200
+ contexts: {wire_key: 'contexts', required: false, list: true, primitive: 'string'},
201
+ user_contexts: {wire_key: 'userContexts', required: false, list: true, primitive: 'string'}
202
202
  )
203
203
 
204
204
  # @api private
@@ -214,16 +214,16 @@ module Selenium
214
214
  # @api private
215
215
  # @see https://www.selenium.dev/documentation/warnings/bidi-implementation/
216
216
  Coordinates = Serialization::Record.define(
217
- contexts: {wire_key: 'contexts', required: false, list: true},
218
- user_contexts: {wire_key: 'userContexts', required: false, list: true},
217
+ contexts: {wire_key: 'contexts', required: false, list: true, primitive: 'string'},
218
+ user_contexts: {wire_key: 'userContexts', required: false, list: true, primitive: 'string'},
219
219
  coordinates: {wire_key: 'coordinates', nullable: true, ref: 'Emulation::GeolocationCoordinates'}
220
220
  )
221
221
 
222
222
  # @api private
223
223
  # @see https://www.selenium.dev/documentation/warnings/bidi-implementation/
224
224
  Error = Serialization::Record.define(
225
- contexts: {wire_key: 'contexts', required: false, list: true},
226
- user_contexts: {wire_key: 'userContexts', required: false, list: true},
225
+ contexts: {wire_key: 'contexts', required: false, list: true, primitive: 'string'},
226
+ user_contexts: {wire_key: 'userContexts', required: false, list: true, primitive: 'string'},
227
227
  error: {wire_key: 'error', ref: 'Emulation::GeolocationPositionError'}
228
228
  )
229
229
  end
@@ -232,13 +232,27 @@ module Selenium
232
232
  # @see https://www.selenium.dev/documentation/warnings/bidi-implementation/
233
233
  # @see https://w3c.github.io/webdriver-bidi/#cddl-type-emulationgeolocationcoordinates
234
234
  GeolocationCoordinates = Serialization::Record.define(
235
- latitude: {wire_key: 'latitude', primitive: 'number'},
236
- longitude: {wire_key: 'longitude', primitive: 'number'},
237
- accuracy: {wire_key: 'accuracy', required: false, primitive: 'number'},
235
+ latitude: {wire_key: 'latitude', primitive: 'number', min: -90, max: 90},
236
+ longitude: {wire_key: 'longitude', primitive: 'number', min: -180, max: 180},
237
+ accuracy: {wire_key: 'accuracy', required: false, primitive: 'number', min: 0},
238
238
  altitude: {wire_key: 'altitude', required: false, nullable: true, primitive: 'number'},
239
- altitude_accuracy: {wire_key: 'altitudeAccuracy', required: false, nullable: true, primitive: 'number'},
240
- heading: {wire_key: 'heading', required: false, nullable: true, primitive: 'number'},
241
- speed: {wire_key: 'speed', required: false, nullable: true, primitive: 'number'}
239
+ altitude_accuracy: {
240
+ wire_key: 'altitudeAccuracy',
241
+ required: false,
242
+ nullable: true,
243
+ primitive: 'number',
244
+ min: 0
245
+ },
246
+ heading: {
247
+ wire_key: 'heading',
248
+ required: false,
249
+ nullable: true,
250
+ primitive: 'number',
251
+ min: 0,
252
+ max: 360,
253
+ exclusive_max: true
254
+ },
255
+ speed: {wire_key: 'speed', required: false, nullable: true, primitive: 'number', min: 0}
242
256
  )
243
257
 
244
258
  # @api private
@@ -251,8 +265,8 @@ module Selenium
251
265
  # @see https://w3c.github.io/webdriver-bidi/#cddl-type-emulationsetlocaleoverrideparameters
252
266
  SetLocaleOverrideParameters = Serialization::Record.define(
253
267
  locale: {wire_key: 'locale', nullable: true, primitive: 'string'},
254
- contexts: {wire_key: 'contexts', required: false, list: true},
255
- user_contexts: {wire_key: 'userContexts', required: false, list: true}
268
+ contexts: {wire_key: 'contexts', required: false, list: true, primitive: 'string'},
269
+ user_contexts: {wire_key: 'userContexts', required: false, list: true, primitive: 'string'}
256
270
  )
257
271
 
258
272
  # @api private
@@ -260,8 +274,8 @@ module Selenium
260
274
  # @see https://w3c.github.io/webdriver-bidi/#cddl-type-emulationsetmediafeaturesoverrideparameters
261
275
  SetMediaFeaturesOverrideParameters = Serialization::Record.define(
262
276
  features: {wire_key: 'features', nullable: true, ref: 'Emulation::MediaFeatures'},
263
- contexts: {wire_key: 'contexts', required: false, list: true},
264
- user_contexts: {wire_key: 'userContexts', required: false, list: true}
277
+ contexts: {wire_key: 'contexts', required: false, list: true, primitive: 'string'},
278
+ user_contexts: {wire_key: 'userContexts', required: false, list: true, primitive: 'string'}
265
279
  )
266
280
 
267
281
  # @api private
@@ -280,14 +294,28 @@ module Selenium
280
294
  nullable: true,
281
295
  enum: 'Emulation::MEDIA_FEATURES_ANY_POINTER'
282
296
  },
283
- color: {wire_key: 'color', required: false, nullable: true, primitive: 'integer'},
297
+ color: {
298
+ wire_key: 'color',
299
+ required: false,
300
+ nullable: true,
301
+ primitive: 'integer',
302
+ min: 0,
303
+ max: 9_007_199_254_740_991
304
+ },
284
305
  color_gamut: {
285
306
  wire_key: 'color-gamut',
286
307
  required: false,
287
308
  nullable: true,
288
309
  enum: 'Emulation::MEDIA_FEATURES_COLOR_GAMUT'
289
310
  },
290
- color_index: {wire_key: 'color-index', required: false, nullable: true, primitive: 'integer'},
311
+ color_index: {
312
+ wire_key: 'color-index',
313
+ required: false,
314
+ nullable: true,
315
+ primitive: 'integer',
316
+ min: 0,
317
+ max: 9_007_199_254_740_991
318
+ },
291
319
  display_mode: {
292
320
  wire_key: 'display-mode',
293
321
  required: false,
@@ -317,7 +345,9 @@ module Selenium
317
345
  wire_key: 'horizontal-viewport-segments',
318
346
  required: false,
319
347
  nullable: true,
320
- primitive: 'integer'
348
+ primitive: 'integer',
349
+ min: 0,
350
+ max: 9_007_199_254_740_991
321
351
  },
322
352
  hover: {wire_key: 'hover', required: false, nullable: true, enum: 'Emulation::MEDIA_FEATURES_HOVER'},
323
353
  inverted_colors: {
@@ -326,7 +356,14 @@ module Selenium
326
356
  nullable: true,
327
357
  enum: 'Emulation::MEDIA_FEATURES_INVERTED_COLORS'
328
358
  },
329
- monochrome: {wire_key: 'monochrome', required: false, nullable: true, primitive: 'integer'},
359
+ monochrome: {
360
+ wire_key: 'monochrome',
361
+ required: false,
362
+ nullable: true,
363
+ primitive: 'integer',
364
+ min: 0,
365
+ max: 9_007_199_254_740_991
366
+ },
330
367
  nav_controls: {
331
368
  wire_key: 'nav-controls',
332
369
  required: false,
@@ -388,7 +425,9 @@ module Selenium
388
425
  wire_key: 'vertical-viewport-segments',
389
426
  required: false,
390
427
  nullable: true,
391
- primitive: 'integer'
428
+ primitive: 'integer',
429
+ min: 0,
430
+ max: 9_007_199_254_740_991
392
431
  },
393
432
  video_color_gamut: {
394
433
  wire_key: 'video-color-gamut',
@@ -413,8 +452,8 @@ module Selenium
413
452
  nullable: true,
414
453
  ref: 'Emulation::NetworkConditionsOffline'
415
454
  },
416
- contexts: {wire_key: 'contexts', required: false, list: true},
417
- user_contexts: {wire_key: 'userContexts', required: false, list: true}
455
+ contexts: {wire_key: 'contexts', required: false, list: true, primitive: 'string'},
456
+ user_contexts: {wire_key: 'userContexts', required: false, list: true, primitive: 'string'}
418
457
  )
419
458
 
420
459
  # @api private
@@ -426,8 +465,8 @@ module Selenium
426
465
  # @see https://www.selenium.dev/documentation/warnings/bidi-implementation/
427
466
  # @see https://w3c.github.io/webdriver-bidi/#cddl-type-emulationscreenarea
428
467
  ScreenArea = Serialization::Record.define(
429
- width: {wire_key: 'width', primitive: 'integer'},
430
- height: {wire_key: 'height', primitive: 'integer'}
468
+ width: {wire_key: 'width', primitive: 'integer', min: 0, max: 9_007_199_254_740_991},
469
+ height: {wire_key: 'height', primitive: 'integer', min: 0, max: 9_007_199_254_740_991}
431
470
  )
432
471
 
433
472
  # @api private
@@ -435,8 +474,8 @@ module Selenium
435
474
  # @see https://w3c.github.io/webdriver-bidi/#cddl-type-emulationsetscreensettingsoverrideparameters
436
475
  SetScreenSettingsOverrideParameters = Serialization::Record.define(
437
476
  screen_area: {wire_key: 'screenArea', nullable: true, ref: 'Emulation::ScreenArea'},
438
- contexts: {wire_key: 'contexts', required: false, list: true},
439
- user_contexts: {wire_key: 'userContexts', required: false, list: true}
477
+ contexts: {wire_key: 'contexts', required: false, list: true, primitive: 'string'},
478
+ user_contexts: {wire_key: 'userContexts', required: false, list: true, primitive: 'string'}
440
479
  )
441
480
 
442
481
  # @api private
@@ -452,8 +491,8 @@ module Selenium
452
491
  # @see https://w3c.github.io/webdriver-bidi/#cddl-type-emulationsetscreenorientationoverrideparameters
453
492
  SetScreenOrientationOverrideParameters = Serialization::Record.define(
454
493
  screen_orientation: {wire_key: 'screenOrientation', nullable: true, ref: 'Emulation::ScreenOrientation'},
455
- contexts: {wire_key: 'contexts', required: false, list: true},
456
- user_contexts: {wire_key: 'userContexts', required: false, list: true}
494
+ contexts: {wire_key: 'contexts', required: false, list: true, primitive: 'string'},
495
+ user_contexts: {wire_key: 'userContexts', required: false, list: true, primitive: 'string'}
457
496
  )
458
497
 
459
498
  # @api private
@@ -461,8 +500,8 @@ module Selenium
461
500
  # @see https://w3c.github.io/webdriver-bidi/#cddl-type-emulationsetuseragentoverrideparameters
462
501
  SetUserAgentOverrideParameters = Serialization::Record.define(
463
502
  user_agent: {wire_key: 'userAgent', nullable: true, primitive: 'string'},
464
- contexts: {wire_key: 'contexts', required: false, list: true},
465
- user_contexts: {wire_key: 'userContexts', required: false, list: true}
503
+ contexts: {wire_key: 'contexts', required: false, list: true, primitive: 'string'},
504
+ user_contexts: {wire_key: 'userContexts', required: false, list: true, primitive: 'string'}
466
505
  )
467
506
 
468
507
  # @api private
@@ -470,8 +509,8 @@ module Selenium
470
509
  # @see https://w3c.github.io/webdriver-bidi/#cddl-type-emulationsetviewportmetaoverrideparameters
471
510
  SetViewportMetaOverrideParameters = Serialization::Record.define(
472
511
  viewport_meta: {wire_key: 'viewportMeta', nullable: true, const: true},
473
- contexts: {wire_key: 'contexts', required: false, list: true},
474
- user_contexts: {wire_key: 'userContexts', required: false, list: true}
512
+ contexts: {wire_key: 'contexts', required: false, list: true, primitive: 'string'},
513
+ user_contexts: {wire_key: 'userContexts', required: false, list: true, primitive: 'string'}
475
514
  )
476
515
 
477
516
  # @api private
@@ -479,8 +518,8 @@ module Selenium
479
518
  # @see https://w3c.github.io/webdriver-bidi/#cddl-type-emulationsetscriptingenabledparameters
480
519
  SetScriptingEnabledParameters = Serialization::Record.define(
481
520
  enabled: {wire_key: 'enabled', nullable: true, const: false},
482
- contexts: {wire_key: 'contexts', required: false, list: true},
483
- user_contexts: {wire_key: 'userContexts', required: false, list: true}
521
+ contexts: {wire_key: 'contexts', required: false, list: true, primitive: 'string'},
522
+ user_contexts: {wire_key: 'userContexts', required: false, list: true, primitive: 'string'}
484
523
  )
485
524
 
486
525
  # @api private
@@ -492,8 +531,8 @@ module Selenium
492
531
  nullable: true,
493
532
  enum: 'Emulation::SET_SCROLLBAR_TYPE_OVERRIDE_PARAMETERS_SCROLLBAR_TYPE'
494
533
  },
495
- contexts: {wire_key: 'contexts', required: false, list: true},
496
- user_contexts: {wire_key: 'userContexts', required: false, list: true}
534
+ contexts: {wire_key: 'contexts', required: false, list: true, primitive: 'string'},
535
+ user_contexts: {wire_key: 'userContexts', required: false, list: true, primitive: 'string'}
497
536
  )
498
537
 
499
538
  # @api private
@@ -501,8 +540,8 @@ module Selenium
501
540
  # @see https://w3c.github.io/webdriver-bidi/#cddl-type-emulationsettextlayoutmodeoverrideparameters
502
541
  SetTextLayoutModeOverrideParameters = Serialization::Record.define(
503
542
  text_layout_mode: {wire_key: 'textLayoutMode', nullable: true, enum: 'Emulation::TEXT_LAYOUT_MODE'},
504
- contexts: {wire_key: 'contexts', required: false, list: true},
505
- user_contexts: {wire_key: 'userContexts', required: false, list: true}
543
+ contexts: {wire_key: 'contexts', required: false, list: true, primitive: 'string'},
544
+ user_contexts: {wire_key: 'userContexts', required: false, list: true, primitive: 'string'}
506
545
  )
507
546
 
508
547
  # @api private
@@ -510,17 +549,23 @@ module Selenium
510
549
  # @see https://w3c.github.io/webdriver-bidi/#cddl-type-emulationsettimezoneoverrideparameters
511
550
  SetTimezoneOverrideParameters = Serialization::Record.define(
512
551
  timezone: {wire_key: 'timezone', nullable: true, primitive: 'string'},
513
- contexts: {wire_key: 'contexts', required: false, list: true},
514
- user_contexts: {wire_key: 'userContexts', required: false, list: true}
552
+ contexts: {wire_key: 'contexts', required: false, list: true, primitive: 'string'},
553
+ user_contexts: {wire_key: 'userContexts', required: false, list: true, primitive: 'string'}
515
554
  )
516
555
 
517
556
  # @api private
518
557
  # @see https://www.selenium.dev/documentation/warnings/bidi-implementation/
519
558
  # @see https://w3c.github.io/webdriver-bidi/#cddl-type-emulationsettouchoverrideparameters
520
559
  SetTouchOverrideParameters = Serialization::Record.define(
521
- max_touch_points: {wire_key: 'maxTouchPoints', nullable: true, primitive: 'integer'},
522
- contexts: {wire_key: 'contexts', required: false, list: true},
523
- user_contexts: {wire_key: 'userContexts', required: false, list: true}
560
+ max_touch_points: {
561
+ wire_key: 'maxTouchPoints',
562
+ nullable: true,
563
+ primitive: 'integer',
564
+ min: 1,
565
+ max: 9_007_199_254_740_991
566
+ },
567
+ contexts: {wire_key: 'contexts', required: false, list: true, primitive: 'string'},
568
+ user_contexts: {wire_key: 'userContexts', required: false, list: true, primitive: 'string'}
524
569
  )
525
570
 
526
571
  def geolocation_coordinates(**) = GeolocationCoordinates.new(**)
@@ -179,7 +179,7 @@ module Selenium
179
179
  # @see https://w3c.github.io/webdriver-bidi/#cddl-type-inputpauseaction
180
180
  PauseAction = Serialization::Record.define(
181
181
  type: {fixed: 'pause'},
182
- duration: {wire_key: 'duration', required: false, primitive: 'integer'}
182
+ duration: {wire_key: 'duration', required: false, primitive: 'integer', min: 0, max: 9_007_199_254_740_991}
183
183
  )
184
184
 
185
185
  # @api private
@@ -203,7 +203,7 @@ module Selenium
203
203
  # @see https://w3c.github.io/webdriver-bidi/#cddl-type-inputpointerupaction
204
204
  PointerUpAction = Serialization::Record.define(
205
205
  type: {fixed: 'pointerUp'},
206
- button: {wire_key: 'button', primitive: 'integer'}
206
+ button: {wire_key: 'button', primitive: 'integer', min: 0, max: 9_007_199_254_740_991}
207
207
  )
208
208
 
209
209
  # @api private
@@ -211,14 +211,32 @@ module Selenium
211
211
  # @see https://w3c.github.io/webdriver-bidi/#cddl-type-inputpointerdownaction
212
212
  PointerDownAction = Serialization::Record.define(
213
213
  type: {fixed: 'pointerDown'},
214
- button: {wire_key: 'button', primitive: 'integer'},
215
- width: {wire_key: 'width', required: false, primitive: 'integer'},
216
- height: {wire_key: 'height', required: false, primitive: 'integer'},
217
- pressure: {wire_key: 'pressure', required: false, primitive: 'number'},
218
- tangential_pressure: {wire_key: 'tangentialPressure', required: false, primitive: 'number'},
219
- twist: {wire_key: 'twist', required: false, primitive: 'integer'},
220
- altitude_angle: {wire_key: 'altitudeAngle', required: false, primitive: 'number'},
221
- azimuth_angle: {wire_key: 'azimuthAngle', required: false, primitive: 'number'}
214
+ button: {wire_key: 'button', primitive: 'integer', min: 0, max: 9_007_199_254_740_991},
215
+ width: {wire_key: 'width', required: false, primitive: 'integer', min: 0, max: 9_007_199_254_740_991},
216
+ height: {wire_key: 'height', required: false, primitive: 'integer', min: 0, max: 9_007_199_254_740_991},
217
+ pressure: {wire_key: 'pressure', required: false, primitive: 'number', min: 0, max: 1},
218
+ tangential_pressure: {
219
+ wire_key: 'tangentialPressure',
220
+ required: false,
221
+ primitive: 'number',
222
+ min: -1,
223
+ max: 1
224
+ },
225
+ twist: {wire_key: 'twist', required: false, primitive: 'integer', min: 0, max: 359},
226
+ altitude_angle: {
227
+ wire_key: 'altitudeAngle',
228
+ required: false,
229
+ primitive: 'number',
230
+ min: 0,
231
+ max: 1.5707963267948966
232
+ },
233
+ azimuth_angle: {
234
+ wire_key: 'azimuthAngle',
235
+ required: false,
236
+ primitive: 'number',
237
+ min: 0,
238
+ max: 6.283185307179586
239
+ }
222
240
  )
223
241
 
224
242
  # @api private
@@ -228,15 +246,33 @@ module Selenium
228
246
  type: {fixed: 'pointerMove'},
229
247
  x: {wire_key: 'x', primitive: 'number'},
230
248
  y: {wire_key: 'y', primitive: 'number'},
231
- duration: {wire_key: 'duration', required: false, primitive: 'integer'},
249
+ duration: {wire_key: 'duration', required: false, primitive: 'integer', min: 0, max: 9_007_199_254_740_991},
232
250
  origin: {wire_key: 'origin', required: false, ref: 'Input::Origin'},
233
- width: {wire_key: 'width', required: false, primitive: 'integer'},
234
- height: {wire_key: 'height', required: false, primitive: 'integer'},
235
- pressure: {wire_key: 'pressure', required: false, primitive: 'number'},
236
- tangential_pressure: {wire_key: 'tangentialPressure', required: false, primitive: 'number'},
237
- twist: {wire_key: 'twist', required: false, primitive: 'integer'},
238
- altitude_angle: {wire_key: 'altitudeAngle', required: false, primitive: 'number'},
239
- azimuth_angle: {wire_key: 'azimuthAngle', required: false, primitive: 'number'}
251
+ width: {wire_key: 'width', required: false, primitive: 'integer', min: 0, max: 9_007_199_254_740_991},
252
+ height: {wire_key: 'height', required: false, primitive: 'integer', min: 0, max: 9_007_199_254_740_991},
253
+ pressure: {wire_key: 'pressure', required: false, primitive: 'number', min: 0, max: 1},
254
+ tangential_pressure: {
255
+ wire_key: 'tangentialPressure',
256
+ required: false,
257
+ primitive: 'number',
258
+ min: -1,
259
+ max: 1
260
+ },
261
+ twist: {wire_key: 'twist', required: false, primitive: 'integer', min: 0, max: 359},
262
+ altitude_angle: {
263
+ wire_key: 'altitudeAngle',
264
+ required: false,
265
+ primitive: 'number',
266
+ min: 0,
267
+ max: 1.5707963267948966
268
+ },
269
+ azimuth_angle: {
270
+ wire_key: 'azimuthAngle',
271
+ required: false,
272
+ primitive: 'number',
273
+ min: 0,
274
+ max: 6.283185307179586
275
+ }
240
276
  )
241
277
 
242
278
  # @api private
@@ -244,11 +280,21 @@ module Selenium
244
280
  # @see https://w3c.github.io/webdriver-bidi/#cddl-type-inputwheelscrollaction
245
281
  WheelScrollAction = Serialization::Record.define(
246
282
  type: {fixed: 'scroll'},
247
- x: {wire_key: 'x', primitive: 'integer'},
248
- y: {wire_key: 'y', primitive: 'integer'},
249
- delta_x: {wire_key: 'deltaX', primitive: 'integer'},
250
- delta_y: {wire_key: 'deltaY', primitive: 'integer'},
251
- duration: {wire_key: 'duration', required: false, primitive: 'integer'},
283
+ x: {wire_key: 'x', primitive: 'integer', min: -9_007_199_254_740_991, max: 9_007_199_254_740_991},
284
+ y: {wire_key: 'y', primitive: 'integer', min: -9_007_199_254_740_991, max: 9_007_199_254_740_991},
285
+ delta_x: {
286
+ wire_key: 'deltaX',
287
+ primitive: 'integer',
288
+ min: -9_007_199_254_740_991,
289
+ max: 9_007_199_254_740_991
290
+ },
291
+ delta_y: {
292
+ wire_key: 'deltaY',
293
+ primitive: 'integer',
294
+ min: -9_007_199_254_740_991,
295
+ max: 9_007_199_254_740_991
296
+ },
297
+ duration: {wire_key: 'duration', required: false, primitive: 'integer', min: 0, max: 9_007_199_254_740_991},
252
298
  origin: {wire_key: 'origin', required: false, ref: 'Input::Origin'}
253
299
  )
254
300
 
@@ -256,13 +302,31 @@ module Selenium
256
302
  # @see https://www.selenium.dev/documentation/warnings/bidi-implementation/
257
303
  # @see https://w3c.github.io/webdriver-bidi/#cddl-type-inputpointercommonproperties
258
304
  PointerCommonProperties = Serialization::Record.define(
259
- width: {wire_key: 'width', required: false, primitive: 'integer'},
260
- height: {wire_key: 'height', required: false, primitive: 'integer'},
261
- pressure: {wire_key: 'pressure', required: false, primitive: 'number'},
262
- tangential_pressure: {wire_key: 'tangentialPressure', required: false, primitive: 'number'},
263
- twist: {wire_key: 'twist', required: false, primitive: 'integer'},
264
- altitude_angle: {wire_key: 'altitudeAngle', required: false, primitive: 'number'},
265
- azimuth_angle: {wire_key: 'azimuthAngle', required: false, primitive: 'number'}
305
+ width: {wire_key: 'width', required: false, primitive: 'integer', min: 0, max: 9_007_199_254_740_991},
306
+ height: {wire_key: 'height', required: false, primitive: 'integer', min: 0, max: 9_007_199_254_740_991},
307
+ pressure: {wire_key: 'pressure', required: false, primitive: 'number', min: 0, max: 1},
308
+ tangential_pressure: {
309
+ wire_key: 'tangentialPressure',
310
+ required: false,
311
+ primitive: 'number',
312
+ min: -1,
313
+ max: 1
314
+ },
315
+ twist: {wire_key: 'twist', required: false, primitive: 'integer', min: 0, max: 359},
316
+ altitude_angle: {
317
+ wire_key: 'altitudeAngle',
318
+ required: false,
319
+ primitive: 'number',
320
+ min: 0,
321
+ max: 1.5707963267948966
322
+ },
323
+ azimuth_angle: {
324
+ wire_key: 'azimuthAngle',
325
+ required: false,
326
+ primitive: 'number',
327
+ min: 0,
328
+ max: 6.283185307179586
329
+ }
266
330
  )
267
331
 
268
332
  # @api private
@@ -289,7 +353,7 @@ module Selenium
289
353
  SetFilesParameters = Serialization::Record.define(
290
354
  context: {wire_key: 'context', primitive: 'string'},
291
355
  element: {wire_key: 'element', ref: 'Script::SharedReference'},
292
- files: {wire_key: 'files', list: true}
356
+ files: {wire_key: 'files', list: true, primitive: 'string'}
293
357
  )
294
358
 
295
359
  # @api private
@@ -63,7 +63,7 @@ module Selenium
63
63
  level: {wire_key: 'level', enum: 'Log::LEVEL'},
64
64
  source: {wire_key: 'source', ref: 'Script::Source'},
65
65
  text: {wire_key: 'text', nullable: true, primitive: 'string'},
66
- timestamp: {wire_key: 'timestamp', primitive: 'integer'},
66
+ timestamp: {wire_key: 'timestamp', primitive: 'integer', min: 0, max: 9_007_199_254_740_991},
67
67
  stack_trace: {wire_key: 'stackTrace', required: false, ref: 'Script::StackTrace'}
68
68
  )
69
69
 
@@ -74,7 +74,7 @@ module Selenium
74
74
  level: {wire_key: 'level', enum: 'Log::LEVEL'},
75
75
  source: {wire_key: 'source', ref: 'Script::Source'},
76
76
  text: {wire_key: 'text', nullable: true, primitive: 'string'},
77
- timestamp: {wire_key: 'timestamp', primitive: 'integer'},
77
+ timestamp: {wire_key: 'timestamp', primitive: 'integer', min: 0, max: 9_007_199_254_740_991},
78
78
  stack_trace: {wire_key: 'stackTrace', required: false, ref: 'Script::StackTrace'},
79
79
  type: {wire_key: 'type', primitive: 'string'}
80
80
  )
@@ -87,7 +87,7 @@ module Selenium
87
87
  level: {wire_key: 'level', enum: 'Log::LEVEL'},
88
88
  source: {wire_key: 'source', ref: 'Script::Source'},
89
89
  text: {wire_key: 'text', nullable: true, primitive: 'string'},
90
- timestamp: {wire_key: 'timestamp', primitive: 'integer'},
90
+ timestamp: {wire_key: 'timestamp', primitive: 'integer', min: 0, max: 9_007_199_254_740_991},
91
91
  stack_trace: {wire_key: 'stackTrace', required: false, ref: 'Script::StackTrace'},
92
92
  method_: {wire_key: 'method', primitive: 'string'},
93
93
  args: {wire_key: 'args', ref: 'Script::RemoteValue', list: true}
@@ -101,7 +101,7 @@ module Selenium
101
101
  level: {wire_key: 'level', enum: 'Log::LEVEL'},
102
102
  source: {wire_key: 'source', ref: 'Script::Source'},
103
103
  text: {wire_key: 'text', nullable: true, primitive: 'string'},
104
- timestamp: {wire_key: 'timestamp', primitive: 'integer'},
104
+ timestamp: {wire_key: 'timestamp', primitive: 'integer', min: 0, max: 9_007_199_254_740_991},
105
105
  stack_trace: {wire_key: 'stackTrace', required: false, ref: 'Script::StackTrace'}
106
106
  )
107
107
 
@@ -49,7 +49,9 @@ module Selenium
49
49
 
50
50
  # @api private
51
51
  # @see https://www.selenium.dev/documentation/warnings/bidi-implementation/
52
- ListScriptsResult = Serialization::Record.define(scripts: {wire_key: 'scripts', list: true})
52
+ ListScriptsResult = Serialization::Record.define(
53
+ scripts: {wire_key: 'scripts', list: true, primitive: 'string'}
54
+ )
53
55
 
54
56
  # @api private
55
57
  # @see https://www.selenium.dev/documentation/warnings/bidi-implementation/
@@ -70,9 +72,9 @@ module Selenium
70
72
  # @api private
71
73
  # @see https://www.selenium.dev/documentation/warnings/bidi-implementation/
72
74
  SetBreakpointParameters::Location = Serialization::Record.define(
73
- line: {wire_key: 'line', primitive: 'integer'},
75
+ line: {wire_key: 'line', primitive: 'integer', min: 0, max: 9_007_199_254_740_991},
74
76
  url: {wire_key: 'url', primitive: 'string'},
75
- column: {wire_key: 'column', required: false, primitive: 'integer'}
77
+ column: {wire_key: 'column', required: false, primitive: 'integer', min: 0, max: 9_007_199_254_740_991}
76
78
  )
77
79
 
78
80
  # @api private
@@ -82,16 +84,16 @@ module Selenium
82
84
  # @api private
83
85
  # @see https://www.selenium.dev/documentation/warnings/bidi-implementation/
84
86
  BaseLocation = Serialization::Record.define(
85
- line: {wire_key: 'line', primitive: 'integer'},
87
+ line: {wire_key: 'line', primitive: 'integer', min: 0, max: 9_007_199_254_740_991},
86
88
  url: {wire_key: 'url', primitive: 'string'}
87
89
  )
88
90
 
89
91
  # @api private
90
92
  # @see https://www.selenium.dev/documentation/warnings/bidi-implementation/
91
93
  SetDebuggerEnabledParameters = Serialization::Record.define(
92
- contexts: {wire_key: 'contexts', required: false, list: true},
94
+ contexts: {wire_key: 'contexts', required: false, list: true, primitive: 'string'},
93
95
  enabled: {wire_key: 'enabled', nullable: true, primitive: 'boolean'},
94
- user_contexts: {wire_key: 'userContexts', required: false, list: true}
96
+ user_contexts: {wire_key: 'userContexts', required: false, list: true, primitive: 'string'}
95
97
  )
96
98
 
97
99
  # @api private
@@ -111,8 +113,8 @@ module Selenium
111
113
  PausedParameters = Serialization::Record.define(
112
114
  context: {wire_key: 'context', primitive: 'string'},
113
115
  url: {wire_key: 'url', primitive: 'string'},
114
- line: {wire_key: 'line', primitive: 'integer'},
115
- column: {wire_key: 'column', primitive: 'integer'},
116
+ line: {wire_key: 'line', primitive: 'integer', min: 0, max: 9_007_199_254_740_991},
117
+ column: {wire_key: 'column', primitive: 'integer', min: 0, max: 9_007_199_254_740_991},
116
118
  call_frames: {wire_key: 'callFrames', ref: 'MozDebugging::PausedParametersCallFrame', list: true}
117
119
  )
118
120
 
@@ -128,9 +130,9 @@ module Selenium
128
130
  # @api private
129
131
  # @see https://www.selenium.dev/documentation/warnings/bidi-implementation/
130
132
  PausedParametersCallFrame::Location = Serialization::Record.define(
131
- line: {wire_key: 'line', primitive: 'integer'},
133
+ line: {wire_key: 'line', primitive: 'integer', min: 0, max: 9_007_199_254_740_991},
132
134
  url: {wire_key: 'url', primitive: 'string'},
133
- column: {wire_key: 'column', primitive: 'integer'}
135
+ column: {wire_key: 'column', primitive: 'integer', min: 0, max: 9_007_199_254_740_991}
134
136
  )
135
137
 
136
138
  # @api private
@@ -51,10 +51,10 @@ module Selenium
51
51
  # @see https://www.selenium.dev/documentation/warnings/bidi-implementation/
52
52
  Options = Serialization::Record.define(
53
53
  active_context: {wire_key: 'activeContext', required: false, primitive: 'string'},
54
- entries: {wire_key: 'entries', primitive: 'integer'},
55
- interval: {wire_key: 'interval', primitive: 'integer'},
56
- features: {wire_key: 'features', list: true},
57
- threads: {wire_key: 'threads', list: true}
54
+ entries: {wire_key: 'entries', primitive: 'integer', min: 0, max: 9_007_199_254_740_991},
55
+ interval: {wire_key: 'interval', primitive: 'integer', min: 0, max: 9_007_199_254_740_991},
56
+ features: {wire_key: 'features', list: true, primitive: 'string'},
57
+ threads: {wire_key: 'threads', list: true, primitive: 'string'}
58
58
  )
59
59
  end
60
60