eyes_selenium 3.16.16 → 3.17.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/applitools/selenium/browser_types.rb +14 -1
- data/lib/applitools/selenium/browsers_info.rb +2 -2
- data/lib/applitools/selenium/configuration.rb +18 -11
- data/lib/applitools/selenium/orientations.rb +16 -0
- data/lib/applitools/selenium/target.rb +1 -1
- data/lib/applitools/selenium/visual_grid/chrome_emulation_info.rb +57 -11
- data/lib/applitools/selenium/visual_grid/desktop_browser_info.rb +45 -0
- data/lib/applitools/selenium/visual_grid/emulation_base_info.rb +1 -8
- data/lib/applitools/selenium/visual_grid/eyes_connector.rb +1 -1
- data/lib/applitools/selenium/visual_grid/i_render_browser_info.rb +16 -0
- data/lib/applitools/selenium/visual_grid/ios_device_info.rb +55 -0
- data/lib/applitools/selenium/visual_grid/ios_device_name.rb +30 -0
- data/lib/applitools/selenium/visual_grid/ios_screen_orientation.rb +14 -0
- data/lib/applitools/selenium/visual_grid/render_browser_info.rb +33 -14
- data/lib/applitools/selenium/visual_grid/render_info.rb +2 -1
- data/lib/applitools/selenium/visual_grid/render_request.rb +1 -1
- data/lib/applitools/selenium/visual_grid/render_task.rb +7 -2
- data/lib/applitools/version.rb +1 -1
- data/lib/eyes_selenium.rb +1 -1
- metadata +12 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ab60fb86502ed730997a08c2de160bab0bbff7bc9651a7773fdd3e2971d49b18
|
4
|
+
data.tar.gz: 717c9ec052aac3390691551e0e83febf7af4582f643031d49cd61226f6f61e86
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 49b8e28b830cd12d2cd5af053a07218ab9081d155d569fd1f42579ebcbe43e16c06612de3221b25a984a0928e4bb1e311c26d541b341b1f27d6f498fb7d430aa
|
7
|
+
data.tar.gz: fab03f7637243850574bcf4354fdcbc7f0d26d55aabb8070daafdc199196ae27e9370f0c68ae717ba204fde2b3eb4fa904b41ae238ace4926e879c28d39b0d9e
|
@@ -1,5 +1,16 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
module BrowserTypes
|
3
|
+
extend self
|
4
|
+
def const_missing(name)
|
5
|
+
puts 'Please, prefer using BrowserType instead of BrowserTypes(plural).'
|
6
|
+
BrowserType.const_get(name)
|
7
|
+
end
|
8
|
+
|
9
|
+
def enum_values
|
10
|
+
BrowserType.enum_values
|
11
|
+
end
|
12
|
+
end
|
13
|
+
module BrowserType
|
3
14
|
extend self
|
4
15
|
CHROME = :'chrome-0'
|
5
16
|
CHROME_ONE_VERSION_BACK = :'chrome-1'
|
@@ -12,6 +23,7 @@ module BrowserTypes
|
|
12
23
|
SAFARI = :'safari-0'
|
13
24
|
SAFARI_ONE_VERSION_BACK = :'safari-1'
|
14
25
|
SAFARI_TWO_VERSIONS_BACK = :'safari-2'
|
26
|
+
IOS_SAFARI = :safari
|
15
27
|
|
16
28
|
EDGE_CHROMIUM = :'edgechromium'
|
17
29
|
EDGE_CHROMIUM_ONE_VERSION_BACK = :'edgechromium-1'
|
@@ -52,7 +64,8 @@ module BrowserTypes
|
|
52
64
|
EDGE_LEGACY,
|
53
65
|
IE_10,
|
54
66
|
EDGE_CHROMIUM,
|
55
|
-
EDGE_CHROMIUM_ONE_VERSION_BACK
|
67
|
+
EDGE_CHROMIUM_ONE_VERSION_BACK,
|
68
|
+
IOS_SAFARI
|
56
69
|
]
|
57
70
|
end
|
58
71
|
end
|
@@ -4,7 +4,7 @@ module Applitools
|
|
4
4
|
module Selenium
|
5
5
|
class BrowsersInfo < Set
|
6
6
|
def add(obj)
|
7
|
-
return super if obj.is_a? Applitools::Selenium::
|
7
|
+
return super if obj.is_a? Applitools::Selenium::IRenderBrowserInfo
|
8
8
|
raise(
|
9
9
|
Applitools::EyesIllegalArgument,
|
10
10
|
'It is expected the value to be an Applitools::Selenium::RenderBrowserInfo instance,' \
|
@@ -15,7 +15,7 @@ module Applitools
|
|
15
15
|
def each(viewport_size = nil)
|
16
16
|
return super() unless empty?
|
17
17
|
return unless viewport_size
|
18
|
-
default = Applitools::Selenium::
|
18
|
+
default = Applitools::Selenium::DesktopBrowserInfo.new.tap do |bi|
|
19
19
|
bi.viewport_size = viewport_size
|
20
20
|
bi.browser_type = BrowserTypes::CHROME
|
21
21
|
end
|
@@ -14,7 +14,6 @@ module Applitools
|
|
14
14
|
hide_scrollbars: true,
|
15
15
|
hide_caret: false,
|
16
16
|
browsers_info: Applitools::Selenium::BrowsersInfo.new,
|
17
|
-
accessibility_validation: Applitools::AccessibilityLevel::NONE,
|
18
17
|
rendering_grid_force_put: (ENV['APPLITOOLS_RENDERING_GRID_FORCE_PUT'] || 'false').casecmp('true') == 0
|
19
18
|
}
|
20
19
|
end
|
@@ -33,21 +32,21 @@ module Applitools
|
|
33
32
|
|
34
33
|
object_field :browsers_info, Applitools::Selenium::BrowsersInfo
|
35
34
|
int_field :concurrent_sessions
|
36
|
-
enum_field :accessibility_validation, Applitools::AccessibilityLevel.enum_values
|
37
35
|
boolean_field :rendering_grid_force_put
|
38
36
|
|
39
|
-
def custom_setter_for_accessibility_validation(value)
|
40
|
-
# self.default_match_settings = self.parent.class.default_config[:default_match_settings] unless default_match_settings
|
41
|
-
default_match_settings.accessibility_level = value
|
42
|
-
end
|
43
|
-
|
44
37
|
def add_browser(*args)
|
45
38
|
case args.size
|
46
|
-
when 0
|
39
|
+
when 0
|
40
|
+
browser = Applitools::Selenium::DesktopBrowserInfo.new
|
41
|
+
when 1
|
47
42
|
b = args[0]
|
48
|
-
|
43
|
+
raise(
|
44
|
+
Applitools::EyesIllegalArgument,
|
45
|
+
'Expected :browser to be an IRenderBrowserInfo instance!'
|
46
|
+
) unless b.is_a? IRenderBrowserInfo
|
47
|
+
browser = b
|
49
48
|
when 3
|
50
|
-
browser = Applitools::Selenium::
|
49
|
+
browser = Applitools::Selenium::DesktopBrowserInfo.new.tap do |bi|
|
51
50
|
bi.viewport_size = Applitools::RectangleSize.new(args[0], args[1])
|
52
51
|
bi.browser_type = args[2]
|
53
52
|
end
|
@@ -58,11 +57,18 @@ module Applitools
|
|
58
57
|
self
|
59
58
|
end
|
60
59
|
|
60
|
+
def add_browsers(browsers)
|
61
|
+
browsers.each do |browser|
|
62
|
+
add_browser(browser)
|
63
|
+
end
|
64
|
+
self
|
65
|
+
end
|
66
|
+
|
61
67
|
def add_device_emulation(device_name, orientation = Orientations::PORTRAIT)
|
62
68
|
Applitools::ArgumentGuard.not_nil device_name, 'device_name'
|
63
69
|
raise Applitools::EyesIllegalArgument, 'Wrong device name!' unless Devices.enum_values.include? device_name
|
64
70
|
emu = Applitools::Selenium::ChromeEmulationInfo.new(device_name, orientation)
|
65
|
-
add_browser
|
71
|
+
add_browser emu
|
66
72
|
end
|
67
73
|
|
68
74
|
def viewport_size
|
@@ -73,6 +79,7 @@ module Applitools
|
|
73
79
|
return from_browsers_info.viewport_size if from_browsers_info
|
74
80
|
nil
|
75
81
|
end
|
82
|
+
|
76
83
|
end
|
77
84
|
end
|
78
85
|
end
|
@@ -1,5 +1,21 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
module Orientations
|
3
|
+
extend self
|
4
|
+
def const_missing(name)
|
5
|
+
puts 'Please prefer using the Orientation instead of Orientations(plural).'
|
6
|
+
Orientation.const_get(name)
|
7
|
+
end
|
8
|
+
def enum_values
|
9
|
+
Orientation.enum_values
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
module Orientation
|
14
|
+
extend self
|
3
15
|
PORTRAIT = 'portrait'
|
4
16
|
LANDSCAPE = 'landscape'
|
17
|
+
|
18
|
+
def enum_values
|
19
|
+
[PORTRAIT, LANDSCAPE]
|
20
|
+
end
|
5
21
|
end
|
@@ -312,7 +312,7 @@ module Applitools
|
|
312
312
|
options = Applitools::Utils.extract_options! args
|
313
313
|
unless options[:type]
|
314
314
|
raise Applitools::EyesError,
|
315
|
-
'You should call Target.accessibility(region,
|
315
|
+
'You should call Target.accessibility(region, type: type). The :type option is required'
|
316
316
|
end
|
317
317
|
unless Applitools::AccessibilityRegionType.enum_values.include?(options[:type])
|
318
318
|
raise Applitools::EyesIllegalArgument,
|
@@ -1,20 +1,66 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
|
2
|
+
require_relative 'emulation_base_info'
|
3
|
+
require_relative 'i_render_browser_info'
|
3
4
|
module Applitools
|
4
5
|
module Selenium
|
5
|
-
class ChromeEmulationInfo <
|
6
|
-
|
6
|
+
class ChromeEmulationInfo < IRenderBrowserInfo
|
7
|
+
DEFAULT_CONFIG = proc do
|
8
|
+
{
|
9
|
+
platform: 'linux',
|
10
|
+
browser_type: BrowserTypes::CHROME,
|
11
|
+
# size_mode: 'full-page',
|
12
|
+
viewport_size: Applitools::RectangleSize.from_any_argument(width: 0, height: 0)
|
13
|
+
}
|
14
|
+
end
|
15
|
+
class << self
|
16
|
+
def default_config
|
17
|
+
DEFAULT_CONFIG.call
|
18
|
+
end
|
19
|
+
end
|
7
20
|
|
8
|
-
|
9
|
-
|
10
|
-
|
21
|
+
object_field :emulation_info, Applitools::Selenium::EmulationBaseInfo
|
22
|
+
|
23
|
+
# def device_name
|
24
|
+
# emulation_info.device_name
|
25
|
+
# end
|
26
|
+
#
|
27
|
+
def initialize(*args)
|
28
|
+
super()
|
29
|
+
case args[0]
|
30
|
+
when String
|
31
|
+
self.emulation_info = EmulationInfo.new.tap do |ei|
|
32
|
+
ei.device_name = args[0]
|
33
|
+
ei.screen_orientation = args[1] || Orientations::PORTRAIT
|
34
|
+
end
|
35
|
+
when Hash
|
36
|
+
self.emulation_info = EmulationInfo.new.tap do |ei|
|
37
|
+
ei.device_name = args[0][:device_name]
|
38
|
+
ei.screen_orientation = args[0][:screen_orientation] || Orientations::PORTRAIT
|
39
|
+
end
|
40
|
+
end
|
11
41
|
end
|
12
42
|
|
13
|
-
def
|
14
|
-
{
|
15
|
-
|
16
|
-
|
17
|
-
|
43
|
+
def to_s
|
44
|
+
"#{emulation_info.device_name} - #{emulation_info.screen_orientation}"
|
45
|
+
end
|
46
|
+
|
47
|
+
def device_name
|
48
|
+
emulation_info.device_name + ' (chrome emulation)'
|
49
|
+
end
|
50
|
+
|
51
|
+
|
52
|
+
private
|
53
|
+
|
54
|
+
class EmulationInfo < Applitools::Selenium::EmulationBaseInfo
|
55
|
+
enum_field :device_name, Devices.enum_values
|
56
|
+
enum_field :screen_orientation, Orientations.enum_values
|
57
|
+
|
58
|
+
def json_data
|
59
|
+
{
|
60
|
+
:'deviceName' => device_name,
|
61
|
+
:'screenOrientation' => screen_orientation
|
62
|
+
}
|
63
|
+
end
|
18
64
|
end
|
19
65
|
end
|
20
66
|
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require 'applitools/selenium/browser_types'
|
3
|
+
|
4
|
+
module Applitools
|
5
|
+
module Selenium
|
6
|
+
class DesktopBrowserInfo < IRenderBrowserInfo
|
7
|
+
DEFAULT_CONFIG = proc do
|
8
|
+
{
|
9
|
+
platform: 'linux',
|
10
|
+
browser_type: BrowserTypes::CHROME,
|
11
|
+
# size_mode: 'full-page',
|
12
|
+
viewport_size: Applitools::RectangleSize.from_any_argument(width: 0, height: 0)
|
13
|
+
}
|
14
|
+
end
|
15
|
+
|
16
|
+
class << self
|
17
|
+
def default_config
|
18
|
+
DEFAULT_CONFIG.call
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
def initialize(options = {})
|
23
|
+
super()
|
24
|
+
if options[:width] && options[:height]
|
25
|
+
self.viewport_size = Applitools::RectangleSize.from_any_argument(width: options[:width], height: options[:height])
|
26
|
+
end
|
27
|
+
self.browser_type = options[:browser_type] if options[:browser_type]
|
28
|
+
end
|
29
|
+
|
30
|
+
def platform
|
31
|
+
case browser_type
|
32
|
+
when BrowserTypes::EDGE_LEGACY, BrowserTypes::EDGE_CHROMIUM, BrowserTypes::EDGE_CHROMIUM_ONE_VERSION_BACK
|
33
|
+
'windows'
|
34
|
+
else
|
35
|
+
'linux'
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
def device_name
|
40
|
+
'desktop'
|
41
|
+
end
|
42
|
+
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
@@ -1,14 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
module Applitools
|
3
3
|
module Selenium
|
4
|
-
class EmulationBaseInfo
|
5
|
-
extend Applitools::Helpers
|
6
|
-
attr_accessor :screen_orientation
|
7
|
-
abstract_attr_accessor :device_name
|
8
|
-
|
9
|
-
def initialize(screen_orientation)
|
10
|
-
self.screen_orientation = screen_orientation
|
11
|
-
end
|
4
|
+
class EmulationBaseInfo < Applitools::AbstractConfiguration
|
12
5
|
end
|
13
6
|
end
|
14
7
|
end
|
@@ -30,7 +30,7 @@ module Applitools
|
|
30
30
|
def open(driver, browser_info)
|
31
31
|
self.driver = driver
|
32
32
|
self.browser_info = browser_info
|
33
|
-
self.device_name = browser_info
|
33
|
+
self.device_name = browser_info.device_name
|
34
34
|
logger.info "opening EyesConnector for #{config.short_description} with viewport size: #{browser_info}"
|
35
35
|
config.viewport_size = browser_info.viewport_size
|
36
36
|
title
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module Applitools
|
2
|
+
module Selenium
|
3
|
+
class IRenderBrowserInfo < ::Applitools::AbstractConfiguration
|
4
|
+
|
5
|
+
object_field :viewport_size, Applitools::RectangleSize
|
6
|
+
enum_field :browser_type, BrowserTypes.enum_values
|
7
|
+
string_field :platform
|
8
|
+
string_field :size_mode
|
9
|
+
string_field :baseline_env_name
|
10
|
+
|
11
|
+
def to_s
|
12
|
+
return "#{viewport_size} (#{browser_type})"
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,55 @@
|
|
1
|
+
require_relative 'ios_device_name'
|
2
|
+
require_relative 'ios_screen_orientation'
|
3
|
+
module Applitools
|
4
|
+
module Selenium
|
5
|
+
class IosDeviceInfo < IRenderBrowserInfo
|
6
|
+
DEFAULT_CONFIG = proc do
|
7
|
+
{
|
8
|
+
platform: 'ios',
|
9
|
+
browser_type: BrowserTypes::IOS_SAFARI,
|
10
|
+
# size_mode: 'full-page',
|
11
|
+
viewport_size: Applitools::RectangleSize.from_any_argument(width: 0, height: 0)
|
12
|
+
}
|
13
|
+
end
|
14
|
+
|
15
|
+
object_field :ios_device_info, Applitools::Selenium::EmulationBaseInfo
|
16
|
+
|
17
|
+
class << self
|
18
|
+
def default_config
|
19
|
+
DEFAULT_CONFIG.call
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
def initialize(options = {})
|
24
|
+
super()
|
25
|
+
self.ios_device_info = EmulationInfo.new.tap do |ei|
|
26
|
+
ei.device_name = options[:device_name]
|
27
|
+
ei.screen_orientation = options[:screen_orientation] || options[:orientation] || IosScreenshotOrientation::PORTRAIT
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
def to_s
|
32
|
+
"#{ios_device_info.device_name} - #{ios_device_info.screen_orientation}"
|
33
|
+
end
|
34
|
+
|
35
|
+
def device_name
|
36
|
+
ios_device_info.device_name
|
37
|
+
end
|
38
|
+
|
39
|
+
private
|
40
|
+
|
41
|
+
class EmulationInfo < EmulationBaseInfo
|
42
|
+
enum_field :device_name, IosDeviceName.enum_values
|
43
|
+
enum_field :screen_orientation, IosScreenshotOrientation.enum_values
|
44
|
+
|
45
|
+
def json_data
|
46
|
+
{
|
47
|
+
name: device_name,
|
48
|
+
screenOrientation: screen_orientation,
|
49
|
+
version: 'latest'
|
50
|
+
}
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
module IosDeviceName
|
2
|
+
extend self
|
3
|
+
IPhone_11_Pro = 'iPhone 11 Pro'
|
4
|
+
IPhone_11_Pro_Max = 'iPhone 11 Pro Max'
|
5
|
+
IPhone_11 = 'iPhone 11'
|
6
|
+
IPhone_XR = 'iPhone XR'
|
7
|
+
IPhone_XS = 'iPhone Xs'
|
8
|
+
IPhone_X = 'iPhone X'
|
9
|
+
IPhone_8 = 'iPhone 8'
|
10
|
+
IPhone_7 = 'iPhone 7'
|
11
|
+
IPad_Pro_3 = 'iPad Pro (12.9-inch) (3rd generation)'
|
12
|
+
IPad_7 = 'iPad (7th generation)'
|
13
|
+
IPad_Air_2 = 'iPad Air (2nd generation)'
|
14
|
+
|
15
|
+
def enum_values
|
16
|
+
[
|
17
|
+
IPhone_11_Pro,
|
18
|
+
IPhone_11_Pro_Max,
|
19
|
+
IPhone_11,
|
20
|
+
IPhone_XR,
|
21
|
+
IPhone_XS,
|
22
|
+
IPhone_X,
|
23
|
+
IPhone_8,
|
24
|
+
IPhone_7,
|
25
|
+
IPad_Pro_3,
|
26
|
+
IPad_7,
|
27
|
+
IPad_Air_2
|
28
|
+
]
|
29
|
+
end
|
30
|
+
end
|
@@ -1,31 +1,37 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
require 'applitools/selenium/browser_types'
|
3
|
-
|
3
|
+
# We should not break the API
|
4
4
|
module Applitools
|
5
5
|
module Selenium
|
6
|
-
class RenderBrowserInfo <
|
6
|
+
class RenderBrowserInfo < IRenderBrowserInfo
|
7
7
|
DEFAULT_CONFIG = proc do
|
8
8
|
{
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
9
|
+
platform: 'linux',
|
10
|
+
browser_type: BrowserTypes::CHROME,
|
11
|
+
# size_mode: 'full-page',
|
12
|
+
viewport_size: Applitools::RectangleSize.from_any_argument(width: 0, height: 0)
|
13
13
|
}
|
14
14
|
end
|
15
|
+
|
16
|
+
object_field :ios_device_info, Applitools::Selenium::EmulationBaseInfo
|
17
|
+
object_field :emulation_info, Applitools::Selenium::EmulationBaseInfo
|
18
|
+
|
15
19
|
class << self
|
16
20
|
def default_config
|
17
21
|
DEFAULT_CONFIG.call
|
18
22
|
end
|
19
23
|
end
|
20
24
|
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
25
|
+
def initialize(options = {})
|
26
|
+
super()
|
27
|
+
if options[:width] && options[:height]
|
28
|
+
self.viewport_size = Applitools::RectangleSize.from_any_argument(width: options[:width], height: options[:height])
|
29
|
+
end
|
30
|
+
self.browser_type = options[:browser_type] if options[:browser_type]
|
31
|
+
end
|
27
32
|
|
28
33
|
def platform
|
34
|
+
return 'ios' if ios_device_info
|
29
35
|
case browser_type
|
30
36
|
when BrowserTypes::EDGE_LEGACY, BrowserTypes::EDGE_CHROMIUM, BrowserTypes::EDGE_CHROMIUM_ONE_VERSION_BACK
|
31
37
|
'windows'
|
@@ -35,8 +41,21 @@ module Applitools
|
|
35
41
|
end
|
36
42
|
|
37
43
|
def to_s
|
38
|
-
|
39
|
-
|
44
|
+
if emulation_info
|
45
|
+
"#{emulation_info.device_name} - #{emulation_info.screen_orientation}"
|
46
|
+
elsif ios_device_info
|
47
|
+
"#{ios_device_info.device_name} - #{ios_device_info.screen_orientation}"
|
48
|
+
end
|
49
|
+
"#{viewport_size} (#{browser_type})"
|
50
|
+
end
|
51
|
+
|
52
|
+
def device_name
|
53
|
+
if ios_device_info
|
54
|
+
return ios_device_info.device_name
|
55
|
+
elsif emulation_info
|
56
|
+
return emulation_info.device_name + ' (chrome emulation)'
|
57
|
+
end
|
58
|
+
'desktop'
|
40
59
|
end
|
41
60
|
end
|
42
61
|
end
|
@@ -3,7 +3,7 @@ module Applitools
|
|
3
3
|
module Selenium
|
4
4
|
class RenderInfo
|
5
5
|
include Applitools::Jsonable
|
6
|
-
json_fields :width, :height, :sizeMode, :emulationInfo, :region, :selector
|
6
|
+
json_fields :width, :height, :sizeMode, :emulationInfo, :region, :selector, :IosDeviceInfo
|
7
7
|
# , :region, :emulationInfo
|
8
8
|
|
9
9
|
def json_data
|
@@ -13,6 +13,7 @@ module Applitools
|
|
13
13
|
sizeMode: size_mode
|
14
14
|
}
|
15
15
|
result['emulationInfo'] = json_value(emulation_info) if emulation_info
|
16
|
+
result['iosDeviceInfo'] = json_value(ios_device_info) if ios_device_info
|
16
17
|
result['region'] = json_value(region) if size_mode == 'region'
|
17
18
|
result['selector'] = json_value(region) if size_mode == 'selector'
|
18
19
|
result
|
@@ -8,7 +8,7 @@ module Applitools
|
|
8
8
|
json_fields :renderId, :webhook, :url, :dom, :resources, :scriptHooks,
|
9
9
|
:selectorsToFindRegionsFor, :sendDom, :agentId
|
10
10
|
|
11
|
-
json_fields :renderInfo, :browser
|
11
|
+
json_fields :renderInfo, :browser, :platform
|
12
12
|
|
13
13
|
def initialize(*args)
|
14
14
|
options = Applitools::Utils.extract_options! args
|
@@ -248,7 +248,11 @@ module Applitools
|
|
248
248
|
r.height = running_test.browser_info.viewport_size.height
|
249
249
|
r.size_mode = size_mode
|
250
250
|
r.region = region_to_check
|
251
|
-
|
251
|
+
if running_test.browser_info.respond_to?(:emulation_info) && running_test.browser_info.emulation_info
|
252
|
+
r.emulation_info = running_test.browser_info.emulation_info
|
253
|
+
elsif running_test.browser_info.respond_to?(:ios_device_info) && running_test.browser_info.ios_device_info
|
254
|
+
r.ios_device_info = running_test.browser_info.ios_device_info
|
255
|
+
end
|
252
256
|
end
|
253
257
|
|
254
258
|
requests << Applitools::Selenium::RenderRequest.new(
|
@@ -257,7 +261,8 @@ module Applitools
|
|
257
261
|
dom: dom,
|
258
262
|
resources: request_resources,
|
259
263
|
render_info: r_info,
|
260
|
-
browser: { name: running_test.browser_info.browser_type
|
264
|
+
browser: { name: running_test.browser_info.browser_type },
|
265
|
+
platform: { name: running_test.browser_info.platform },
|
261
266
|
script_hooks: script_hooks,
|
262
267
|
selectors_to_find_regions_for: region_selectors,
|
263
268
|
send_dom: if running_test.eyes.configuration.send_dom.nil?
|
data/lib/applitools/version.rb
CHANGED
data/lib/eyes_selenium.rb
CHANGED
@@ -20,8 +20,8 @@ end
|
|
20
20
|
|
21
21
|
Applitools::Selenium.require_dir 'selenium/concerns'
|
22
22
|
Applitools::Selenium.require_dir 'selenium/scripts'
|
23
|
-
Applitools::Selenium.require_dir 'selenium/visual_grid'
|
24
23
|
Applitools::Selenium.require_dir 'selenium'
|
24
|
+
Applitools::Selenium.require_dir 'selenium/visual_grid'
|
25
25
|
Applitools::Selenium.require_dir 'selenium/dom_capture'
|
26
26
|
Applitools::Selenium.require_dir 'selenium/css_parser'
|
27
27
|
|
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: 3.
|
4
|
+
version: 3.17.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Applitools Team
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-06-11 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: 3.
|
19
|
+
version: 3.17.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: 3.
|
26
|
+
version: 3.17.4
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: selenium-webdriver
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -150,8 +150,13 @@ files:
|
|
150
150
|
- lib/applitools/selenium/viewport_screenshot.rb
|
151
151
|
- lib/applitools/selenium/viewport_size.rb
|
152
152
|
- lib/applitools/selenium/visual_grid/chrome_emulation_info.rb
|
153
|
+
- lib/applitools/selenium/visual_grid/desktop_browser_info.rb
|
153
154
|
- lib/applitools/selenium/visual_grid/emulation_base_info.rb
|
154
155
|
- lib/applitools/selenium/visual_grid/eyes_connector.rb
|
156
|
+
- lib/applitools/selenium/visual_grid/i_render_browser_info.rb
|
157
|
+
- lib/applitools/selenium/visual_grid/ios_device_info.rb
|
158
|
+
- lib/applitools/selenium/visual_grid/ios_device_name.rb
|
159
|
+
- lib/applitools/selenium/visual_grid/ios_screen_orientation.rb
|
155
160
|
- lib/applitools/selenium/visual_grid/render_browser_info.rb
|
156
161
|
- lib/applitools/selenium/visual_grid/render_info.rb
|
157
162
|
- lib/applitools/selenium/visual_grid/render_request.rb
|
@@ -173,7 +178,7 @@ homepage: https://www.applitools.com
|
|
173
178
|
licenses:
|
174
179
|
- Applitools
|
175
180
|
metadata: {}
|
176
|
-
post_install_message:
|
181
|
+
post_install_message:
|
177
182
|
rdoc_options: []
|
178
183
|
require_paths:
|
179
184
|
- lib
|
@@ -189,7 +194,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
189
194
|
version: '0'
|
190
195
|
requirements: []
|
191
196
|
rubygems_version: 3.0.8
|
192
|
-
signing_key:
|
197
|
+
signing_key:
|
193
198
|
specification_version: 4
|
194
199
|
summary: Applitools Ruby Selenium SDK
|
195
200
|
test_files: []
|