eyes_core 3.2.2 → 3.3.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
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e7e9bc76bd9015774835b3ff69d84a0a99a72c26
|
4
|
+
data.tar.gz: 88068cae26e46a091931f6ca3a85cd30e34a4a28
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 611499123fdc78d786155cc188a185ca7a8dcf9fb4f2a84551648e6658dd19cd92585134c0b67ade65ac0b2f12e14c98de77e1c6a746434b8eaaa5df3589678b
|
7
|
+
data.tar.gz: cefb39a916f17a2de86f80f5836f5979e7330f8afb0f2ce847cf72a5da3fa0c66370d99479cd859ff5ab5cfd67a1c09b446b5c1d53f9279113e9f9c1140c75e0
|
@@ -49,16 +49,17 @@ module Applitools::Connectivity
|
|
49
49
|
# Notice that this does not include the screenshot.
|
50
50
|
json_data = Oj.dump(Applitools::Utils.camelcase_hash_keys(data.to_hash)).force_encoding('BINARY')
|
51
51
|
body = [json_data.length].pack('L>') + json_data + data.screenshot
|
52
|
+
#Applitools::EyesLogger.debug json_data
|
52
53
|
Applitools::EyesLogger.debug 'Sending match data...'
|
53
54
|
res = post(URI.join(endpoint_url, session.id.to_s), content_type: 'application/octet-stream', body: body)
|
54
|
-
raise Applitools::EyesError.new("Request failed: #{res.status}") unless res.success?
|
55
|
+
raise Applitools::EyesError.new("Request failed: #{res.status} #{res.headers}") unless res.success?
|
55
56
|
Applitools::MatchResult.new Oj.load(res.body)
|
56
57
|
end
|
57
58
|
|
58
59
|
def start_session(session_start_info)
|
59
60
|
res = post(endpoint_url, body: Oj.dump(startInfo:
|
60
61
|
Applitools::Utils.camelcase_hash_keys(session_start_info.to_hash)))
|
61
|
-
raise Applitools::EyesError.new("Request failed: #{res.status}") unless res.success?
|
62
|
+
raise Applitools::EyesError.new("Request failed: #{res.status} #{res.body}") unless res.success?
|
62
63
|
|
63
64
|
response = Oj.load(res.body)
|
64
65
|
Applitools::Session.new(response['id'], response['url'], res.status == HTTP_STATUS_CODES[:created])
|
@@ -172,7 +172,7 @@ module Applitools
|
|
172
172
|
raise e
|
173
173
|
end
|
174
174
|
|
175
|
-
def check_window_base(region_provider, tag, ignore_mismatch, retry_timeout)
|
175
|
+
def check_window_base(region_provider, tag, ignore_mismatch, retry_timeout, options = {})
|
176
176
|
if disabled?
|
177
177
|
logger.info "#{__method__} Ignored"
|
178
178
|
result = Applitools::MatchResults.new
|
@@ -207,7 +207,9 @@ module Applitools
|
|
207
207
|
tag: tag,
|
208
208
|
should_match_window_run_once_on_timeout: should_match_window_run_once_on_timeout,
|
209
209
|
ignore_mismatch: ignore_mismatch,
|
210
|
-
retry_timeout: retry_timeout
|
210
|
+
retry_timeout: retry_timeout,
|
211
|
+
ignore: options[:ignore],
|
212
|
+
trim: options[:trim]
|
211
213
|
)
|
212
214
|
logger.info 'match_window done!'
|
213
215
|
|
@@ -19,7 +19,7 @@ module Applitools
|
|
19
19
|
alias ignoreMismatch ignore_mismatch
|
20
20
|
|
21
21
|
def to_hash
|
22
|
-
ary = [:userInputs, :appOutput, :tag, :ignoreMismatch].map do |field|
|
22
|
+
ary = [:userInputs, :appOutput, :tag, :ignoreMismatch, :options].map do |field|
|
23
23
|
result = send(field)
|
24
24
|
result = result.to_hash if result.respond_to? :to_hash
|
25
25
|
[field, result] if [String, Symbol, Hash, Array, FalseClass, TrueClass].include? result.class
|
@@ -6,6 +6,18 @@ module Applitools
|
|
6
6
|
|
7
7
|
attr_reader :logger, :running_session, :default_retry_timeout, :app_output_provider
|
8
8
|
|
9
|
+
class << self
|
10
|
+
def convert_coordinates(regions, screenshot)
|
11
|
+
regions.map() do |r|
|
12
|
+
screenshot.convert_region_location(
|
13
|
+
Applitools::Region.from_location_size(r.location, r.size),
|
14
|
+
Applitools::EyesScreenshot::COORDINATE_TYPES[:context_relative],
|
15
|
+
Applitools::EyesScreenshot::COORDINATE_TYPES[:screenshot_as_is]
|
16
|
+
).to_hash
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
9
21
|
def initialize(logger, running_session, retry_timeout, app_output_provider)
|
10
22
|
@logger = logger
|
11
23
|
@running_session = running_session
|
@@ -31,6 +43,8 @@ module Applitools
|
|
31
43
|
should_match_window_run_once_on_timeout = options[:should_match_window_run_once_on_timeout]
|
32
44
|
ignore_mismatch = options[:ignore_mismatch]
|
33
45
|
retry_timeout = options[:retry_timeout]
|
46
|
+
ignore = options[:ignore] || []
|
47
|
+
trim = options[:trim] || false
|
34
48
|
|
35
49
|
retry_timeout = default_retry_timeout if retry_timeout < 0
|
36
50
|
|
@@ -41,24 +55,24 @@ module Applitools
|
|
41
55
|
sleep retry_timeout if should_match_window_run_once_on_timeout
|
42
56
|
app_output = app_output_provider.app_output region_provider, last_screenshot
|
43
57
|
match_result = perform_match user_inputs: user_inputs, app_output: app_output, tag: tag,
|
44
|
-
ignore_mismatch: ignore_mismatch
|
58
|
+
ignore_mismatch: ignore_mismatch, ignore: self.class.convert_coordinates(ignore, app_output.screenshot), trim: trim
|
45
59
|
else
|
46
60
|
app_output = app_output_provider.app_output region_provider, last_screenshot
|
47
61
|
start = Time.now
|
48
|
-
match_result = perform_match user_inputs: user_inputs, app_output: app_output, tag: tag, ignore_mismatch: true
|
62
|
+
match_result = perform_match user_inputs: user_inputs, app_output: app_output, tag: tag, ignore_mismatch: true, ignore: self.class.convert_coordinates(ignore, app_output.screenshot), trim: trim
|
49
63
|
retry_time = Time.now - start
|
50
64
|
|
51
65
|
while retry_time < retry_timeout && !match_result.as_expected?
|
52
66
|
sleep MATCH_INTERVAL
|
53
67
|
app_output = app_output_provider.app_output region_provider, last_screenshot
|
54
|
-
match_result = perform_match user_inputs: user_inputs, app_output: app_output, tag: tag, ignore_mismatch: true
|
68
|
+
match_result = perform_match user_inputs: user_inputs, app_output: app_output, tag: tag, ignore_mismatch: true, ignore: self.class.convert_coordinates(ignore, app_output.screenshot), trim: trim
|
55
69
|
retry_time = Time.now - start
|
56
70
|
end
|
57
71
|
|
58
72
|
unless match_result.as_expected?
|
59
73
|
app_output = app_output_provider.app_output region_provider, last_screenshot
|
60
74
|
match_result = perform_match user_inputs: user_inputs, app_output: app_output, tag: tag,
|
61
|
-
ignore_mismatch: ignore_mismatch
|
75
|
+
ignore_mismatch: ignore_mismatch, ignore: self.class.convert_coordinates(ignore, app_output.screenshot), trim: trim
|
62
76
|
end
|
63
77
|
end
|
64
78
|
|
@@ -78,8 +92,14 @@ module Applitools
|
|
78
92
|
tag = options[:tag]
|
79
93
|
ignore_mismatch = options[:ignore_mismatch]
|
80
94
|
data = Applitools::MatchWindowData.new user_inputs, app_output, tag, ignore_mismatch,
|
81
|
-
tag: tag, user_inputs: user_inputs, ignore_mismatch: ignore_mismatch, ignore_match: false,
|
82
|
-
force_mistmatch: false, force_match: false
|
95
|
+
tag: tag, user_inputs: user_inputs.to_hash, ignore_mismatch: ignore_mismatch, ignore_match: false,
|
96
|
+
force_mistmatch: false, force_match: false,
|
97
|
+
image_match_settings: {
|
98
|
+
ignore: options[:ignore]
|
99
|
+
},
|
100
|
+
trim: {
|
101
|
+
enabled: options[:trim]
|
102
|
+
}
|
83
103
|
Applitools::Connectivity::ServerConnector.match_window running_session, data
|
84
104
|
end
|
85
105
|
end
|
data/lib/applitools/version.rb
CHANGED
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.
|
4
|
+
version: 3.3.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Applitools Team
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-04-
|
11
|
+
date: 2017-04-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: oily_png
|