eyes_core 3.17.21 → 3.18.2

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
- SHA256:
3
- metadata.gz: 5f5de232cfebace23a11b460e49b9d345bace6aaae97c3348694f7ae55bb94a5
4
- data.tar.gz: 95e1815deed07620bcaec68b0de6e2938b7c6d8b87aafb8b5f0e16abfbe247bf
2
+ SHA1:
3
+ metadata.gz: 36a1a5082471151d4ccbc5683bc06802ae56b776
4
+ data.tar.gz: 1574274f76f4e4eaa271c70308592d3324856d2c
5
5
  SHA512:
6
- metadata.gz: e1bc1a7f731af8f0e78164246e039dac0967adc00c66dc343a51c15e3355ca826874b534ab77ba16e1eb6dad159cb026536c7ded50c9405a008c6b499710614a
7
- data.tar.gz: 9e848677e2e2a2edda3e6ecd45ff4421a9dc6f0c4706982cd9f103e07efd6f228b66acdbf31a5dbb9fffeef4e9f234b9c7a738a4901c735477006d8db9601c6a
6
+ metadata.gz: 62858147e7ee749c0dfdbb3dfdb992d3ecd8ec7f4269f789a9d71fae9ad007802cd31401382bb08e37b35375f3b532406d6cb9729fb412c2cdadaeba1db8e194
7
+ data.tar.gz: 6681412cf7e58b2e9a3e824ed82bc3dcf1bb1ef1f36e7d045076b8068c1f674614205305c7dbf67875965dee7a21071fa86f7ce8fda102699f64f075eaffb93a
@@ -12,6 +12,14 @@ module Applitools
12
12
 
13
13
  def convert_viewport_rect_coordinates
14
14
  region = viewport_rect
15
+
16
+ session_info = Applitools::Appium::Utils.session_capabilities(driver)
17
+ if session_info['deviceScreenSize']
18
+ device_height = session_info['deviceScreenSize'].split('x').last.to_i
19
+ system_bars_height = driver.get_system_bars.map {|_,v| v['height'] }.sum
20
+ region['height'] = device_height - system_bars_height
21
+ end
22
+
15
23
  Applitools::Region.new(
16
24
  region['left'],
17
25
  region['top'],
@@ -14,6 +14,7 @@ class Applitools::Appium::Eyes < Applitools::Selenium::SeleniumEyes
14
14
  self.runner = Applitools::ClassicRunner.new
15
15
  self.base_agent_id = "eyes.appium.ruby/#{Applitools::VERSION}".freeze
16
16
  self.status_bar_height = 0
17
+ self.utils = Applitools::Appium::Utils
17
18
  end
18
19
 
19
20
  private :perform_driver_settings_for_appium_driver
@@ -90,8 +91,8 @@ class Applitools::Appium::Eyes < Applitools::Selenium::SeleniumEyes
90
91
  raise Applitools::EyesError.new('Unknown image format after scale!')
91
92
  end
92
93
  ),
93
- status_bar_height: Applitools::Utils::EyesSeleniumUtils.status_bar_height(driver),
94
- device_pixel_ratio: Applitools::Utils::EyesSeleniumUtils.device_pixel_ratio(driver)
94
+ status_bar_height: self.utils.status_bar_height(driver),
95
+ device_pixel_ratio: self.utils.device_pixel_ratio(driver)
95
96
  )
96
97
  end
97
98
  end
@@ -131,20 +132,20 @@ class Applitools::Appium::Eyes < Applitools::Selenium::SeleniumEyes
131
132
  def obtain_viewport_screenshot
132
133
  self.screenshot = screenshot_class.new(
133
134
  Applitools::Screenshot.from_datastream(driver.screenshot_as(:png)),
134
- status_bar_height: Applitools::Utils::EyesSeleniumUtils.status_bar_height(driver),
135
- device_pixel_ratio: Applitools::Utils::EyesSeleniumUtils.device_pixel_ratio(driver)
135
+ status_bar_height: self.utils.status_bar_height(driver),
136
+ device_pixel_ratio: self.utils.device_pixel_ratio(driver)
136
137
  )
137
138
  end
138
139
 
139
140
  def screenshot_class
140
- return Applitools::Appium::IosScreenshot if Applitools::Utils::EyesSeleniumUtils.ios?(Applitools::Appium::Driver::AppiumLib)
141
- return Applitools::Appium::AndroidScreenshot if Applitools::Utils::EyesSeleniumUtils.android?(Applitools::Appium::Driver::AppiumLib)
141
+ return Applitools::Appium::IosScreenshot if self.utils.ios?(Applitools::Appium::Driver::AppiumLib)
142
+ return Applitools::Appium::AndroidScreenshot if self.utils.android?(Applitools::Appium::Driver::AppiumLib)
142
143
  raise Applitools::EyesError, 'Unknown device type'
143
144
  end
144
145
 
145
146
  def region_provider_class
146
- return Applitools::Appium::IosRegionProvider if Applitools::Utils::EyesSeleniumUtils.ios?(Applitools::Appium::Driver::AppiumLib)
147
- return Applitools::Appium::AndroidRegionProvider if Applitools::Utils::EyesSeleniumUtils.android?(Applitools::Appium::Driver::AppiumLib)
147
+ return Applitools::Appium::IosRegionProvider if self.utils.ios?(Applitools::Appium::Driver::AppiumLib)
148
+ return Applitools::Appium::AndroidRegionProvider if self.utils.android?(Applitools::Appium::Driver::AppiumLib)
148
149
  raise Applitools::EyesError, 'Unknown device type'
149
150
  end
150
151
  end
@@ -23,7 +23,7 @@ module Applitools
23
23
  private
24
24
 
25
25
  def viewport_rect
26
- Applitools::Utils::EyesSeleniumUtils.viewport_rect(driver)
26
+ Applitools::Appium::Utils.viewport_rect(driver)
27
27
  end
28
28
 
29
29
  def convert_region_coordinates
@@ -44,7 +44,7 @@ module Applitools
44
44
  end
45
45
 
46
46
  def scale_factor
47
- Applitools::Utils::EyesSeleniumUtils.device_pixel_ratio(driver)
47
+ Applitools::Appium::Utils.device_pixel_ratio(driver)
48
48
  end
49
49
  end
50
50
  end
@@ -54,7 +54,7 @@ module Applitools
54
54
  end
55
55
  when Applitools::Region
56
56
  result = first_argument.padding(requested_padding)
57
- if Applitools::Utils::EyesSeleniumUtils.ios?(Applitools::Appium::Driver::AppiumLib)
57
+ if Applitools::Appium::Utils.ios?(Applitools::Appium::Driver::AppiumLib)
58
58
  def result.converted?
59
59
  true
60
60
  end
@@ -77,7 +77,7 @@ module Applitools
77
77
  args.first
78
78
  when Applitools::Region
79
79
  result = Applitools::FloatingRegion.any(*args)
80
- if Applitools::Utils::EyesSeleniumUtils.ios?(Applitools::Appium::Driver::AppiumLib)
80
+ if Applitools::Appium::Utils.ios?(Applitools::Appium::Driver::AppiumLib)
81
81
  def result.converted?
82
82
  true
83
83
  end
@@ -147,7 +147,7 @@ module Applitools
147
147
  result = Applitools::AccessibilityRegion.new(
148
148
  args.first, options[:type]
149
149
  )
150
- if Applitools::Utils::EyesSeleniumUtils.ios?(Applitools::Appium::Driver::AppiumLib)
150
+ if Applitools::Appium::Utils.ios?(Applitools::Appium::Driver::AppiumLib)
151
151
  def result.converted?
152
152
  true
153
153
  end
@@ -189,7 +189,7 @@ module Applitools
189
189
  Applitools::Region.from_location_size(r.location, r.size)
190
190
  end
191
191
  when Applitools::Region
192
- if Applitools::Utils::EyesSeleniumUtils.ios?(Applitools::Appium::Driver::AppiumLib)
192
+ if Applitools::Appium::Utils.ios?(Applitools::Appium::Driver::AppiumLib)
193
193
  def r.converted?
194
194
  true
195
195
  end
@@ -2,6 +2,9 @@
2
2
 
3
3
  module Applitools::Appium
4
4
  module Utils
5
+ include Applitools::Utils::EyesSeleniumUtils
6
+ extend self
7
+
5
8
  # true if test is running on mobile device
6
9
  def mobile_device?(driver)
7
10
  defined?(Appium::Driver) &&
@@ -1,12 +1,13 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'securerandom'
4
+ require 'applitools/utils/utils'
4
5
  require_relative 'helpers'
5
6
 
6
7
  module Applitools
7
8
  class BatchInfo
8
9
  extend Helpers
9
- attr_accessor :started_at, :id, :notify_on_completion
10
+ attr_accessor :started_at, :id, :notify_on_completion, :properties
10
11
 
11
12
  environment_attribute :name, 'APPLITOOLS_BATCH_NAME'
12
13
  environment_attribute :id, 'APPLITOOLS_BATCH_ID'
@@ -14,10 +15,24 @@ module Applitools
14
15
  environment_attribute :env_notify_on_completion, 'APPLITOOLS_BATCH_NOTIFY'
15
16
 
16
17
 
17
- def initialize(name = nil, started_at = Time.now)
18
+ def initialize(args = nil, started_at = Time.now)
19
+ case args
20
+ when String
21
+ name = args
22
+ when Hash
23
+ sym_args = Applitools::Utils.symbolize_keys args
24
+ id ||= sym_args[:id]
25
+ name ||= sym_args[:name]
26
+ properties ||= sym_args[:properties]
27
+ end
18
28
  self.name = name if name
19
29
  @started_at = started_at
20
- self.id = SecureRandom.uuid unless id
30
+ if id
31
+ self.id = id
32
+ elsif self.id.nil? || self.id.empty?
33
+ self.id = SecureRandom.uuid
34
+ end
35
+ self.properties = properties if properties
21
36
  self.notify_on_completion = 'true'.casecmp(env_notify_on_completion || '') == 0 ? true : false
22
37
  end
23
38
 
@@ -27,7 +42,8 @@ module Applitools
27
42
  'name' => name,
28
43
  'startedAt' => @started_at.iso8601,
29
44
  'batchSequenceName' => sequence_name,
30
- 'notifyOnCompletion' => notify_on_completion
45
+ 'notifyOnCompletion' => notify_on_completion,
46
+ 'properties' => properties
31
47
  }
32
48
  end
33
49
 
@@ -319,7 +319,7 @@ module Applitools
319
319
  branch_name: branch_name, parent_branch_name: parent_branch_name,
320
320
  baseline_branch_name: baseline_branch_name, save_diffs: save_diffs,
321
321
  properties: properties
322
-
322
+ session_start_info.agent_run_id = agent_run_id if agent_run_id
323
323
  match_window_data.start_info = session_start_info
324
324
  match_window_data.update_baseline_if_new = save_new_tests
325
325
  match_window_data.update_baseline_if_different = save_failed_tests
@@ -597,6 +597,7 @@ module Applitools
597
597
  branch_name: branch_name, parent_branch_name: parent_branch_name,
598
598
  baseline_branch_name: baseline_branch_name, save_diffs: save_diffs,
599
599
  properties: properties
600
+ session_start_info.agent_run_id = agent_run_id if agent_run_id
600
601
 
601
602
  logger.info 'Starting server session...'
602
603
  self.running_session = server_connector.start_session session_start_info
@@ -118,6 +118,7 @@ module Applitools
118
118
  object_field :accessibility_validation, Applitools::AccessibilitySettings, true
119
119
  object_field :properties, Array
120
120
  int_field :match_timeout
121
+ string_field :agent_run_id
121
122
 
122
123
  methods_to_delegate.delete(:batch_info)
123
124
  methods_to_delegate.delete(:batch_info=)
@@ -87,6 +87,10 @@ module Applitools
87
87
  current_data['Options']['Name'] = value
88
88
  end
89
89
 
90
+ def variation_group_id=(value)
91
+ current_data['Options']['variantId'] = value
92
+ end
93
+
90
94
  def user_inputs=(value)
91
95
  Applitools::ArgumentGuard.is_a? value, 'value', Array
92
96
  current_data['UserInputs'] += value.select { |i| i.respond_to? :to_hash }
@@ -5,7 +5,7 @@ module Applitools
5
5
  include Applitools::Jsonable
6
6
  json_fields :batchInfo, :agentId, :appIdOrName, :verId, :environment, :environmentName, :branchName, :defaultMatchSettings,
7
7
  :scenarioIdOrName, :properties, :parentBranchName, :compareWithParentBranch, :baselineEnvName, :saveDiffs, :sessionType,
8
- :baselineBranchName
8
+ :baselineBranchName, :agentRunId
9
9
 
10
10
  wrap_data do |value|
11
11
  { startInfo: value }
@@ -28,6 +28,7 @@ module Applitools
28
28
  self.save_diffs = options[:save_diffs]
29
29
  self.session_type = options[:session_type]
30
30
  self.baseline_branch_name = options[:baseline_branch_name]
31
+ self.agentRunId = options[:agent_run_id] if options[:agent_run_id]
31
32
  end
32
33
 
33
34
  def to_hash
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: false
2
2
 
3
3
  module Applitools
4
- VERSION = '3.17.21'.freeze
4
+ VERSION = '3.18.2'.freeze
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: eyes_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.17.21
4
+ version: 3.18.2
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-09-06 00:00:00.000000000 Z
11
+ date: 2021-05-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: oily_png
@@ -264,8 +264,6 @@ files:
264
264
  - lib/applitools/appium/android_screenshot.rb
265
265
  - lib/applitools/appium/driver.rb
266
266
  - lib/applitools/appium/eyes.rb
267
- - lib/applitools/appium/initialize_1.9.rb
268
- - lib/applitools/appium/initialize_2.0.rb
269
267
  - lib/applitools/appium/ios_region_provider.rb
270
268
  - lib/applitools/appium/ios_screenshot.rb
271
269
  - lib/applitools/appium/region_provider.rb
@@ -373,7 +371,7 @@ licenses:
373
371
  - Applitools
374
372
  metadata:
375
373
  yard.run: yri
376
- post_install_message:
374
+ post_install_message:
377
375
  rdoc_options: []
378
376
  require_paths:
379
377
  - lib
@@ -389,8 +387,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
389
387
  - !ruby/object:Gem::Version
390
388
  version: '0'
391
389
  requirements: []
392
- rubygems_version: 3.0.8
393
- signing_key:
390
+ rubyforge_project:
391
+ rubygems_version: 2.6.14.3
392
+ signing_key:
394
393
  specification_version: 4
395
394
  summary: Core of the Applitools Ruby SDK
396
395
  test_files: []
@@ -1,18 +0,0 @@
1
- # frozen_string_literal: false
2
-
3
- module Applitools::Appium
4
- module Init19
5
- extend self
6
-
7
- def init
8
- Applitools::Utils::EyesSeleniumUtils.module_eval do
9
- alias_method :super_mobile_device?, :mobile_device?
10
- alias_method :super_android?, :android?
11
- alias_method :super_ios?, :ios?
12
- alias_method :super_platform_version, :platform_version
13
- alias_method :super_current_scroll_position, :current_scroll_position
14
- include Applitools::Appium::Utils
15
- end
16
- end
17
- end
18
- end
@@ -1,13 +0,0 @@
1
- # frozen_string_literal: false
2
-
3
- module Applitools::Appium
4
- module Init20
5
- extend self
6
- def init
7
- Applitools::Utils::EyesSeleniumUtils.module_eval do
8
- prepend Applitools::Appium::Utils
9
- extend self
10
- end
11
- end
12
- end
13
- end