eyes_selenium 4.1.1 → 4.1.4.beta

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 175a713110c4d481e6aeaa485c27468942f85a106d2c979d0afcce55ec980ccd
4
- data.tar.gz: 6cc119432abf25a1f04ab70d3d408aed7d943032c7e1a68abd14fc63d15ca3ad
3
+ metadata.gz: c1177bcfea1f8608bf2d1ef43870ee8c49cd99d14a10d1da052d2857c388feb8
4
+ data.tar.gz: 5f9b880d6baffa75405a4c308716f3c13dd4e14333e6bae2900e9bf4a05dbc80
5
5
  SHA512:
6
- metadata.gz: 7e093f8025fa36d0cd251557c723a8b1dd69b7bf18f078e6e639041f765e6c73a2d213de0d76a3dda8106c9c19ad7b81ef9bfa775e1136cfcd794255953a8303
7
- data.tar.gz: ae252db3790c0da5474b3acb7c4a60b6cc02704764c543366d9dfa33d4fa6ed8e262bfe0d188d0ba399f6e9f7d35f7f1c23582cc01898d1ebc38a88355612195
6
+ metadata.gz: 69a8d4db2a89e00ac34837c4811391f51a25bf3c3bcc658fcd625cf893961ccc023948731e6771495985ef8a836c603c7d4a9d558d1613a36468cb8322ac38da
7
+ data.tar.gz: 745acafc2115630852055bb5f381f02e6b19792bb8b461cab0e428c5e1cba7b400bed5c182f7cb92673e02820308c36083aff7038a4f5bd7b7ba1f33d85105c7
@@ -27,6 +27,7 @@ module BrowserType
27
27
 
28
28
  EDGE_CHROMIUM = :'edgechromium'
29
29
  EDGE_CHROMIUM_ONE_VERSION_BACK = :'edgechromium-one-version-back'
30
+ EDGE_CHROMIUM_TWO_VERSIONS_BACK = :'edgechromium-two-versions-back'
30
31
 
31
32
  IE_11 = :ie
32
33
  EDGE_LEGACY = :edgelegacy
@@ -65,6 +66,7 @@ module BrowserType
65
66
  IE_10,
66
67
  EDGE_CHROMIUM,
67
68
  EDGE_CHROMIUM_ONE_VERSION_BACK,
69
+ EDGE_CHROMIUM_TWO_VERSIONS_BACK,
68
70
  IOS_SAFARI
69
71
  ]
70
72
  end
@@ -66,6 +66,13 @@ module Devices
66
66
  Pixel4 = 'Pixel 4'.freeze
67
67
  Pixel4XL = 'Pixel 4 XL'.freeze
68
68
  Pixel5 = 'Pixel 5'.freeze
69
+ Pixel6 = 'Pixel 6'.freeze
70
+ XiaomiRedmiNote11 = 'Xiaomi Redmi Note 11'.freeze
71
+ XiaomiRedmiNote11Pro = 'Xiaomi Redmi Note 11 Pro'.freeze
72
+ GalaxyS22 = 'Galaxy S22'.freeze
73
+ GalaxyS22Plus = 'Galaxy S22 Plus'.freeze
74
+ GalaxyTabS7 = 'Galaxy Tab S7'.freeze
75
+ GalaxyTabS8 = 'Galaxy Tab S8'.freeze
69
76
 
70
77
  def enum_values
71
78
  [
@@ -130,7 +137,14 @@ module Devices
130
137
  Pixel3XL,
131
138
  Pixel4,
132
139
  Pixel4XL,
133
- Pixel5
140
+ Pixel5,
141
+ Pixel6,
142
+ XiaomiRedmiNote11,
143
+ XiaomiRedmiNote11Pro,
144
+ GalaxyS22,
145
+ GalaxyS22Plus,
146
+ GalaxyTabS7,
147
+ GalaxyTabS8
134
148
  ]
135
149
  end
136
150
  end
@@ -49,10 +49,8 @@ module Applitools
49
49
  if args.empty?
50
50
  reset_ignore
51
51
  else
52
- value = convert_to_universal(args)
53
- value = { type: args[0], selector: args[1] } if value.nil?
54
- value = value[:selector] if value.is_a?(Hash) && (value[:type].to_s === 'id')
55
- ignored_regions << value
52
+ region = region_from_args(args)
53
+ ignored_regions << region if region
56
54
  end
57
55
  self
58
56
  end
@@ -81,33 +79,36 @@ module Applitools
81
79
  # @!parse def floating(region_or_element, bounds, left,top, right, bottom, padding); end;
82
80
 
83
81
  def floating(*args)
84
- requested_padding = get_requested_padding(args)
82
+ options = Applitools::Utils.extract_options!(args)
83
+ padding = options && options[:padding]
84
+ requested_padding = get_requested_padding(padding, args)
85
+ bounds = get_bounds(args)
85
86
  value = convert_to_universal(args)
86
87
  value = { type: args[0], selector: args[1] } if value.nil?
87
88
  value = value[:selector] if value.is_a?(Hash) && (value[:type].to_s === 'id')
88
- value = { region: value }.merge(requested_padding)
89
- floating_regions << value
89
+ region = { region: value }
90
+ region.merge!(bounds) if bounds != {}
91
+ region.merge!(padding: requested_padding) if requested_padding != {}
92
+ region.merge!(regionId: options[:region_id]) if options[:region_id]
93
+ floating_regions << region
90
94
  self
91
95
  end
92
96
 
93
97
  def layout(*args)
94
- return match_level(Applitools::MatchLevel::LAYOUT) if args.empty?
95
- region = process_region(*args)
96
- layout_regions << region
98
+ region = region_from_args(args)
99
+ layout_regions << region if region
97
100
  self
98
101
  end
99
102
 
100
103
  def content(*args)
101
- return match_level(Applitools::MatchLevel::CONTENT) if args.empty?
102
- region = process_region(*args)
103
- content_regions << region
104
+ region = region_from_args(args)
105
+ content_regions << region if region
104
106
  self
105
107
  end
106
108
 
107
109
  def strict(*args)
108
- return match_level(Applitools::MatchLevel::STRICT) if args.empty?
109
- region = process_region(*args)
110
- strict_regions << region
110
+ region = region_from_args(args)
111
+ strict_regions << region if region
111
112
  self
112
113
  end
113
114
 
@@ -400,16 +401,41 @@ module Applitools
400
401
  driver.find_element(:xpath, xpath)
401
402
  end
402
403
 
403
- def get_requested_padding(args)
404
+ def get_requested_padding(padding, args)
405
+ return padding.to_hash if padding && padding.is_a?(Applitools::PaddingBounds)
406
+ return padding if padding && (padding.is_a?(Hash) || padding.is_a?(Numeric))
404
407
  if args.last.is_a? Applitools::PaddingBounds
405
408
  args.pop
406
- elsif args.last.is_a?(Applitools::FloatingBounds)
407
- args.pop.to_hash
409
+ # elsif args.last.is_a?(Applitools::FloatingBounds)
410
+ # args.pop.to_hash
408
411
  else
409
412
  {}
410
413
  end
411
414
  end
412
415
 
416
+ def get_bounds(args)
417
+ return args.pop.to_hash if args.last.is_a?(Applitools::FloatingBounds)
418
+ last4 = args.last(4)
419
+ if last4.size === 4 && last4.all? { |e| e.is_a?(Numeric) }
420
+ FloatingBounds.new(*last4).to_hash
421
+ else
422
+ {}
423
+ end
424
+ end
425
+
426
+ def region_from_args(args)
427
+ options = Applitools::Utils.extract_options!(args)
428
+ padding = options && options[:padding]
429
+ requested_padding = get_requested_padding(padding, args)
430
+ value = convert_to_universal(args)
431
+ value = { type: args[0], selector: args[1] } if value.nil?
432
+ value = value[:selector] if value.is_a?(Hash) && (value[:type].to_s === 'id')
433
+ return nil if value === {selector: nil, type: nil}
434
+ region = { region: value }
435
+ region.merge!(padding: requested_padding) if requested_padding != {}
436
+ region.merge!(regionId: options[:region_id]) if options[:region_id]
437
+ region
438
+ end
413
439
 
414
440
 
415
441
  def is_element?(el)
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: false
2
2
 
3
3
  module Applitools
4
- VERSION = '4.1.1'.freeze
5
- UNIVERSAL_VERSION = '2.8.0'.freeze
4
+ VERSION = '4.1.4.beta'.freeze
5
+ UNIVERSAL_VERSION = '2.10.8'.freeze
6
6
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: eyes_selenium
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.1.1
4
+ version: 4.1.4.beta
5
5
  platform: ruby
6
6
  authors:
7
7
  - Applitools Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-06-16 00:00:00.000000000 Z
11
+ date: 2022-09-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: eyes_core
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 4.1.1
19
+ version: 4.1.4.beta
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 4.1.1
26
+ version: 4.1.4.beta
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: selenium-webdriver
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -178,9 +178,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
178
178
  version: '0'
179
179
  required_rubygems_version: !ruby/object:Gem::Requirement
180
180
  requirements:
181
- - - ">="
181
+ - - ">"
182
182
  - !ruby/object:Gem::Version
183
- version: '0'
183
+ version: 1.3.1
184
184
  requirements: []
185
185
  rubygems_version: 3.3.14
186
186
  signing_key: