eyes_selenium 4.0.0 → 4.0.4

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
  SHA1:
3
- metadata.gz: 6113bd2ae73e1528d34e7baa3b214229c4b8a769
4
- data.tar.gz: 6125a07ef83c8ab83fa807ca8c9d23b60df8ee34
3
+ metadata.gz: 44abd69cb1183c038f902f467f88c44b00603b3e
4
+ data.tar.gz: f56b5f3357a34dc07f901df912b16845116bf2dd
5
5
  SHA512:
6
- metadata.gz: 1f0dae57a3d2970bd92d04bfc8f07937ce53dbe76797da7e27481a9cfaa5597957d7722eea7a1ecaf860dbf0e9f70d17db5a67cac108a253d8b27c1a9c04c3fa
7
- data.tar.gz: 4aa3ec4b57e6b645ecfcffcb45d24dc083d7b8c6b3c2dd498d1970a85eef33624b903ad4194b8773b984ad217ddf7108a91f8b02b4c493e6f36dfb47b511dbc8
6
+ metadata.gz: d228cfd7ff4428176f9760bba208bfdf59d1f3f63dfacfe18fd3581aa4ba5b700b71fa0673cd410f4ba4f1494602432492b44da474938844bde1f4ade0e09d16
7
+ data.tar.gz: 4a695c88464e9e3b9d0f805da0eddd0c7534a3d80dbde128e6e1e657182e7b5fc4c9772bc57297e27b06ca3ebaecb88c68a8b1d6493134b608d905c442de0eb0
@@ -26,6 +26,7 @@ module Applitools
26
26
 
27
27
  boolean_field :force_full_page_screenshot
28
28
  int_field :wait_before_screenshots
29
+ int_field :wait_before_capture
29
30
  enum_field :stitch_mode, Applitools::Selenium::StitchModes.enum_values
30
31
  boolean_field :hide_scrollbars
31
32
  boolean_field :hide_caret
@@ -84,6 +85,14 @@ module Applitools
84
85
  add_browser emu
85
86
  end
86
87
 
88
+ def add_mobile_device(mobile_device_info)
89
+ add_mobile_devices(mobile_device_info)
90
+ end
91
+
92
+ def add_mobile_devices(mobile_device_infos)
93
+ add_browsers(mobile_device_infos)
94
+ end
95
+
87
96
  def viewport_size
88
97
  user_defined_vp = super
89
98
  user_defined_vp = nil if user_defined_vp.respond_to?(:square) && user_defined_vp.square == 0
@@ -112,7 +112,7 @@ module Applitools::Selenium
112
112
 
113
113
  logger.info "Creating stitchedImage container. Size: #{entire_size}"
114
114
 
115
- stitched_image = ::ChunkyPNG::Image.new(entire_size.width, entire_size.height)
115
+ # stitched_image = ::ChunkyPNG::Image.new(entire_size.width, entire_size.height)
116
116
  logger.info 'Done! Adding initial screenshot..'
117
117
  logger.info "Initial part:(0,0) [#{image.width} x #{image.height}]"
118
118
 
@@ -332,6 +332,18 @@ module Applitools
332
332
  self
333
333
  end
334
334
 
335
+ def wait_before_capture(value)
336
+ Applitools::ArgumentGuard.not_nil(value, 'wait_before_capture')
337
+ options[:wait_before_capture] = value
338
+ self
339
+ end
340
+
341
+ def page_id(value)
342
+ Applitools::ArgumentGuard.not_nil(value, 'page_id')
343
+ options[:page_id] = value
344
+ self
345
+ end
346
+
335
347
  private
336
348
 
337
349
  def reset_for_fullscreen
@@ -0,0 +1,65 @@
1
+ require_relative 'i_render_browser_info'
2
+ require_relative 'emulation_base_info'
3
+
4
+ module Applitools
5
+ module Selenium
6
+ class AndroidDeviceInfo < IRenderBrowserInfo
7
+ DEFAULT_CONFIG = proc do
8
+ {
9
+ viewport_size: Applitools::RectangleSize.from_any_argument(width: 0, height: 0)
10
+ }
11
+ end
12
+
13
+ object_field :android_device_info, Applitools::Selenium::EmulationBaseInfo
14
+
15
+ class << self
16
+ def default_config
17
+ DEFAULT_CONFIG.call
18
+ end
19
+ end
20
+
21
+ def initialize(options = {})
22
+ super
23
+ self.android_device_info = EmulationInfo.new.tap do |ei|
24
+ ei.device_name = options[:device_name]
25
+ ei.screen_orientation = options[:screen_orientation] || options[:orientation] || Orientation::PORTRAIT
26
+ end
27
+ end
28
+
29
+ def to_s
30
+ "#{android_device_info.device_name} - #{android_device_info.screen_orientation}"
31
+ end
32
+
33
+ def device_name
34
+ android_device_info.device_name
35
+ end
36
+
37
+ def to_hash
38
+ {androidDeviceInfo: android_device_info.to_hash}
39
+ end
40
+
41
+ private
42
+
43
+ class EmulationInfo < EmulationBaseInfo
44
+ enum_field :device_name, Devices.enum_values
45
+ enum_field :screen_orientation, Orientation.enum_values
46
+
47
+ def json_data
48
+ {
49
+ name: device_name,
50
+ screenOrientation: screen_orientation,
51
+ version: 'latest'
52
+ }
53
+ end
54
+
55
+ def to_hash
56
+ {
57
+ deviceName: device_name,
58
+ screenOrientation: screen_orientation,
59
+ iosVersion: 'latest'
60
+ }
61
+ end
62
+ end
63
+ end
64
+ end
65
+ end
@@ -0,0 +1,45 @@
1
+ # frozen_string_literal: false
2
+ module AndroidDeviceName
3
+ extend self
4
+ Pixel3XL = 'Pixel 3 XL'.freeze
5
+ Pixel4 = 'Pixel 4'.freeze
6
+ Pixel4XL = 'Pixel 4 XL'.freeze
7
+ GalaxyNote8 = 'Galaxy Note 8'.freeze
8
+ GalaxyNote9 = 'Galaxy Note 9'.freeze
9
+ GalaxyS8 = 'Galaxy S8'.freeze
10
+ GalaxyS8Plus = 'Galaxy S8 Plus'.freeze
11
+ GalaxyS9 = 'Galaxy S9'.freeze
12
+ GalaxyS9Plus = 'Galaxy S9 Plus'.freeze
13
+ GalaxyS10 = 'Galaxy S10'.freeze
14
+ GalaxyS10Plus = 'Galaxy S10 Plus'.freeze
15
+ GalaxyNote10 = 'Galaxy Note 10'.freeze
16
+ GalaxyNote10Plus = 'Galaxy Note 10 Plus'.freeze
17
+ GalaxyS20 = 'Galaxy S20'.freeze
18
+ GalaxyS20Plus = 'Galaxy S20 Plus'.freeze
19
+ GalaxyS21 = 'Galaxy S21'.freeze
20
+ GalaxyS21Plus = 'Galaxy S21 Plus'.freeze
21
+ GalaxyS21Ultra = 'Galaxy S21 Ultra'.freeze
22
+
23
+ def enum_values
24
+ [
25
+ Pixel3XL,
26
+ Pixel4,
27
+ Pixel4XL,
28
+ GalaxyNote8,
29
+ GalaxyNote9,
30
+ GalaxyS8,
31
+ GalaxyS8Plus,
32
+ GalaxyS9,
33
+ GalaxyS9Plus,
34
+ GalaxyS10,
35
+ GalaxyS10Plus,
36
+ GalaxyNote10,
37
+ GalaxyNote10Plus,
38
+ GalaxyS20,
39
+ GalaxyS20Plus,
40
+ GalaxyS21,
41
+ GalaxyS21Plus,
42
+ GalaxyS21Ultra,
43
+ ]
44
+ end
45
+ end
@@ -19,6 +19,8 @@ module IosDeviceName
19
19
  IPad_7 = 'iPad (7th generation)'
20
20
  IPad_9 = 'iPad (9th generation)'
21
21
  IPad_Air_2 = 'iPad Air (2nd generation)'
22
+ IPhone_8_Plus = 'iPhone 8 Plus'
23
+ IPhone_SE = 'iPhone SE (1st generation)'
22
24
 
23
25
  def enum_values
24
26
  [
@@ -40,7 +42,9 @@ module IosDeviceName
40
42
  IPad_Pro_3,
41
43
  IPad_7,
42
44
  IPad_9,
43
- IPad_Air_2
45
+ IPad_Air_2,
46
+ IPhone_8_Plus,
47
+ IPhone_SE
44
48
  ]
45
49
  end
46
50
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: false
2
2
 
3
3
  module Applitools
4
- VERSION = '4.0.0'.freeze
5
- UNIVERSAL_VERSION = '1.0.6'.freeze
4
+ VERSION = '4.0.4'.freeze
5
+ UNIVERSAL_VERSION = '2.5.7'.freeze
6
6
  end
data/lib/eyes_selenium.rb CHANGED
@@ -34,11 +34,19 @@ if defined? Selenium::WebDriver::Driver
34
34
 
35
35
  def universal_driver_config
36
36
  hidden_server_url = bridge.http.send(:server_url).to_s
37
- {
38
- serverUrl: hidden_server_url,
39
- sessionId: session_id,
40
- capabilities: capabilities.as_json
41
- }
37
+ if respond_to?(:session_id)
38
+ {
39
+ serverUrl: hidden_server_url,
40
+ sessionId: session_id,
41
+ capabilities: capabilities.as_json
42
+ }
43
+ else
44
+ {
45
+ serverUrl: hidden_server_url,
46
+ sessionId: bridge.session_id,
47
+ capabilities: capabilities.as_json
48
+ }
49
+ end
42
50
  end
43
51
  end
44
52
  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.0.0
4
+ version: 4.0.4
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-01-24 00:00:00.000000000 Z
11
+ date: 2022-05-13 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.0.0
19
+ version: 4.0.4
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.0.0
26
+ version: 4.0.4
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: selenium-webdriver
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -151,6 +151,8 @@ files:
151
151
  - lib/applitools/selenium/test_list.rb
152
152
  - lib/applitools/selenium/viewport_screenshot.rb
153
153
  - lib/applitools/selenium/viewport_size.rb
154
+ - lib/applitools/selenium/visual_grid/android_device_info.rb
155
+ - lib/applitools/selenium/visual_grid/android_device_name.rb
154
156
  - lib/applitools/selenium/visual_grid/chrome_emulation_info.rb
155
157
  - lib/applitools/selenium/visual_grid/desktop_browser_info.rb
156
158
  - lib/applitools/selenium/visual_grid/dom_snapshot_script.rb