eyes_core 3.17.21 → 3.18.2

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
- 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