eyes_selenium 3.11.2 → 3.11.3
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 48fa942ab484ac166a79b5c113e8abc724898dc7
|
4
|
+
data.tar.gz: e4706b111471ff17a6b4b9814ea028fde0102a3f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c5e081ea883a93be0153d8cdb74dbb088d8bab32410884329488f547250b64ea9edd507e10ee8e4b655d4e87ed2ccfc9ee400b3fd46f4d3df10440af9c92ee3d
|
7
|
+
data.tar.gz: 31f787b185858b3a6dad0038187cfc1b1a264b4b4c12ee4c5d09806bc149e21f4f7b15756891dd44a864ca11c8144f7662aca89cce02e7e5e0e3ac1f938da17d
|
@@ -75,7 +75,7 @@ module Applitools::Selenium
|
|
75
75
|
|
76
76
|
attr_accessor :base_agent_id, :screenshot, :force_full_page_screenshot, :hide_scrollbars,
|
77
77
|
:wait_before_screenshots, :debug_screenshot, :stitch_mode, :disable_horizontal_scrolling,
|
78
|
-
:disable_vertical_scrolling, :explicit_entire_size
|
78
|
+
:disable_vertical_scrolling, :explicit_entire_size, :debug_screenshot_provider
|
79
79
|
attr_reader :driver
|
80
80
|
|
81
81
|
def_delegators 'Applitools::EyesLogger', :logger, :log_handler, :log_handler=
|
@@ -97,6 +97,9 @@ module Applitools::Selenium
|
|
97
97
|
self.wait_before_screenshots = DEFAULT_WAIT_BEFORE_SCREENSHOTS
|
98
98
|
self.region_visibility_strategy = MoveToRegionVisibilityStrategy.new
|
99
99
|
self.debug_screenshot = false
|
100
|
+
self.debug_screenshot_provider = Applitools::DebugScreenshotProvider.new
|
101
|
+
.tag_access { tag_for_debug }
|
102
|
+
.debug_flag_access { debug_screenshot }
|
100
103
|
self.disable_horizontal_scrolling = false
|
101
104
|
self.disable_vertical_scrolling = false
|
102
105
|
self.explicit_entire_size = nil
|
@@ -388,7 +391,6 @@ module Applitools::Selenium
|
|
388
391
|
options = { timeout: USE_DEFAULT_MATCH_TIMEOUT, tag: nil }.merge! Applitools::Utils.extract_options!(args)
|
389
392
|
target = Applitools::Selenium::Target.new.region(*args).timeout(options[:match_timeout])
|
390
393
|
target.fully if options[:stitch_content]
|
391
|
-
self.screenshot_name_enumerator = nil
|
392
394
|
check(options[:tag], target)
|
393
395
|
end
|
394
396
|
|
@@ -477,7 +479,7 @@ module Applitools::Selenium
|
|
477
479
|
|
478
480
|
def capture_screenshot
|
479
481
|
image_provider = Applitools::Selenium::TakesScreenshotImageProvider.new driver,
|
480
|
-
|
482
|
+
debug_screenshot_provider: debug_screenshot_provider
|
481
483
|
logger.info 'Getting screenshot (capture_screenshot() has been invoked)'
|
482
484
|
|
483
485
|
update_scaling_params
|
@@ -493,7 +495,9 @@ module Applitools::Selenium
|
|
493
495
|
begin
|
494
496
|
if check_frame_or_element
|
495
497
|
logger.info 'Check frame/element requested'
|
496
|
-
algo = Applitools::Selenium::FullPageCaptureAlgorithm.new
|
498
|
+
algo = Applitools::Selenium::FullPageCaptureAlgorithm.new(
|
499
|
+
debug_screenshot_provider: debug_screenshot_provider
|
500
|
+
)
|
497
501
|
|
498
502
|
entire_frame_or_element = algo.get_stitched_region(
|
499
503
|
image_provider: image_provider,
|
@@ -515,7 +519,9 @@ module Applitools::Selenium
|
|
515
519
|
logger.info 'Full page screenshot requested'
|
516
520
|
original_frame = driver.frame_chain
|
517
521
|
driver.switch_to.default_content
|
518
|
-
algo = Applitools::Selenium::FullPageCaptureAlgorithm.new
|
522
|
+
algo = Applitools::Selenium::FullPageCaptureAlgorithm.new(
|
523
|
+
debug_screenshot_provider: debug_screenshot_provider
|
524
|
+
)
|
519
525
|
region_provider = Object.new
|
520
526
|
region_provider.instance_eval do
|
521
527
|
def region
|
@@ -696,6 +702,8 @@ module Applitools::Selenium
|
|
696
702
|
add_mouse_trigger_base(mouse_action, control, cursor)
|
697
703
|
end
|
698
704
|
|
705
|
+
public :add_text_trigger, :add_mouse_trigger, :add_mouse_trigger_by_region_and_location
|
706
|
+
|
699
707
|
protected
|
700
708
|
|
701
709
|
def check_current_frame(match_timeout, tag)
|
@@ -957,23 +965,6 @@ module Applitools::Selenium
|
|
957
965
|
end
|
958
966
|
end
|
959
967
|
|
960
|
-
def screenshot_name_enumerator
|
961
|
-
@name_enumerator ||= Enumerator.new do |y|
|
962
|
-
counter = 1
|
963
|
-
loop do
|
964
|
-
y << "#{tag_for_debug.gsub(/\s+/, '_')}__#{Time.now.strftime('%Y_%m_%d_%H_%M')}__#{counter}.png"
|
965
|
-
counter += 1
|
966
|
-
end
|
967
|
-
end
|
968
|
-
end
|
969
|
-
|
970
|
-
# Resets screenshot_names sequence to initial state.
|
971
|
-
#
|
972
|
-
# @param [Boolean] value should be false or nil to reset the sequence. Takes no effect if +true+ passed
|
973
|
-
def screenshot_name_enumerator=(value)
|
974
|
-
@name_enumerator = nil unless value
|
975
|
-
end
|
976
|
-
|
977
968
|
def inferred_environment
|
978
969
|
return @inferred_environment unless @inferred_environment.nil?
|
979
970
|
|
@@ -4,9 +4,16 @@ module Applitools::Selenium
|
|
4
4
|
extend Forwardable
|
5
5
|
def_delegators 'Applitools::EyesLogger', :logger, :log_handler, :log_handler=
|
6
6
|
|
7
|
+
attr_reader :debug_screenshot_provider
|
8
|
+
|
7
9
|
MAX_SCROLL_BAR_SIZE = 50
|
8
10
|
MIN_SCREENSHOT_PART_HEIGHT = 10
|
9
11
|
|
12
|
+
def initialize(options = {})
|
13
|
+
@debug_screenshot_provider = options[:debug_screenshot_provider] ||
|
14
|
+
Applitools::DebugScreenshotProvider.new.tag_access { '' }.debug_flag_access { false }
|
15
|
+
end
|
16
|
+
|
10
17
|
# Returns the stitched image.
|
11
18
|
#
|
12
19
|
# @param [Hash] options The options.
|
@@ -60,18 +67,26 @@ module Applitools::Selenium
|
|
60
67
|
|
61
68
|
logger.info 'Getting top/left image...'
|
62
69
|
image = image_provider.take_screenshot
|
70
|
+
debug_screenshot_provider.save(image, 'left_top_original')
|
63
71
|
image = scale_provider.scale_image(image) if scale_provider
|
72
|
+
debug_screenshot_provider.save(image, 'left_top_original_scaled')
|
64
73
|
image = cut_provider.cut(image) if cut_provider
|
74
|
+
debug_screenshot_provider.save(image, 'left_top_original_cutted')
|
65
75
|
logger.info 'Done! Creating screenshot object...'
|
66
76
|
screenshot = eyes_screenshot_factory.call(image)
|
67
77
|
|
68
78
|
if region_provider.coordinate_type
|
69
79
|
left_top_image = screenshot.sub_screenshot(region_provider.region, region_provider.coordinate_type)
|
80
|
+
debug_screenshot_provider.save_subscreenshot(left_top_image, region_provider.region)
|
70
81
|
else
|
71
82
|
left_top_image = screenshot.sub_screenshot(
|
72
83
|
Applitools::Region.from_location_size(Applitools::Location.new(0, 0), entire_size),
|
73
84
|
Applitools::EyesScreenshot::COORDINATE_TYPES[:context_relative]
|
74
85
|
)
|
86
|
+
debug_screenshot_provider.save_subscreenshot(
|
87
|
+
left_top_image,
|
88
|
+
Applitools::Region.from_location_size(Applitools::Location.new(0, 0), entire_size)
|
89
|
+
)
|
75
90
|
end
|
76
91
|
|
77
92
|
image = left_top_image.image
|
@@ -122,9 +137,11 @@ module Applitools::Selenium
|
|
122
137
|
logger.info "Set position to #{current_position}"
|
123
138
|
logger.info 'Getting image...'
|
124
139
|
|
125
|
-
part_image = image_provider.take_screenshot
|
140
|
+
part_image = image_provider.take_screenshot(debug_suffix: "scrolled_(#{current_position})")
|
126
141
|
part_image = scale_provider.scale_image part_image if scale_provider
|
142
|
+
debug_screenshot_provider.save(part_image, 'scaled')
|
127
143
|
part_image = cut_provider.cut part_image if cut_provider
|
144
|
+
debug_screenshot_provider.save(part_image, 'cutted')
|
128
145
|
|
129
146
|
logger.info 'Done!'
|
130
147
|
begin
|
@@ -133,6 +150,7 @@ module Applitools::Selenium
|
|
133
150
|
)
|
134
151
|
a_screenshot = eyes_screenshot_factory.call(part_image).sub_screenshot(region_to_check,
|
135
152
|
Applitools::EyesScreenshot::COORDINATE_TYPES[:context_relative], false)
|
153
|
+
debug_screenshot_provider.save_subscreenshot(a_screenshot, region_to_check)
|
136
154
|
rescue Applitools::OutOfBoundsException => e
|
137
155
|
logger.error e.message
|
138
156
|
break
|
@@ -168,11 +186,13 @@ module Applitools::Selenium
|
|
168
186
|
stitched_image.crop!(0, 0,
|
169
187
|
[actual_image_width, stitched_image.width].min,
|
170
188
|
[actual_image_height, stitched_image.height].min)
|
189
|
+
debug_screenshot_provider.save(stitched_image, 'trimmed')
|
171
190
|
logger.info 'Done!'
|
172
191
|
end
|
173
192
|
|
174
193
|
logger.info 'Converting to screenshot...'
|
175
194
|
result_screenshot = Applitools::Screenshot.from_any_image(stitched_image)
|
195
|
+
debug_screenshot_provider.save(result_screenshot, 'full_page')
|
176
196
|
logger.info 'Done converting!'
|
177
197
|
result_screenshot
|
178
198
|
end
|
@@ -4,7 +4,7 @@ module Applitools::Selenium
|
|
4
4
|
extend Forwardable
|
5
5
|
def_delegators 'Applitools::EyesLogger', :logger, :log_handler, :log_handler=
|
6
6
|
|
7
|
-
attr_accessor :driver, :
|
7
|
+
attr_accessor :driver, :debug_screenshot_provider
|
8
8
|
|
9
9
|
# Initialize an Applitools::Selenium::TakesScreenshotImageProvider.
|
10
10
|
#
|
@@ -15,21 +15,16 @@ module Applitools::Selenium
|
|
15
15
|
def initialize(driver, options = {})
|
16
16
|
self.driver = driver
|
17
17
|
options = { debug_screenshot: false }.merge! options
|
18
|
-
self.
|
19
|
-
self.name_enumerator = options[:name_enumerator]
|
18
|
+
self.debug_screenshot_provider = options[:debug_screenshot_provider]
|
20
19
|
end
|
21
20
|
|
22
21
|
# Takes a screenshot.
|
23
22
|
#
|
24
23
|
# @return [Applitools::Screenshot::Datastream] The screenshot.
|
25
|
-
def take_screenshot
|
24
|
+
def take_screenshot(options = {})
|
26
25
|
logger.info 'Getting screenshot...'
|
27
|
-
|
28
|
-
|
29
|
-
save_debug_screenshot(raw_screenshot)
|
30
|
-
end
|
31
|
-
else
|
32
|
-
screenshot = driver.screenshot_as(:png)
|
26
|
+
screenshot = driver.screenshot_as(:png) do |raw_screenshot|
|
27
|
+
save_debug_screenshot(raw_screenshot, options[:debug_suffix])
|
33
28
|
end
|
34
29
|
logger.info 'Done getting screenshot! Creating Applitools::Screenshot...'
|
35
30
|
Applitools::Screenshot.from_datastream screenshot
|
@@ -39,8 +34,8 @@ module Applitools::Selenium
|
|
39
34
|
|
40
35
|
attr_accessor :debug_screenshot
|
41
36
|
|
42
|
-
def save_debug_screenshot(screenshot)
|
43
|
-
|
37
|
+
def save_debug_screenshot(screenshot, suffix)
|
38
|
+
debug_screenshot_provider.save(screenshot, suffix || '')
|
44
39
|
end
|
45
40
|
end
|
46
41
|
end
|
data/lib/applitools/version.rb
CHANGED
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.11.
|
4
|
+
version: 3.11.3
|
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-08-
|
11
|
+
date: 2017-08-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: 3.11.
|
19
|
+
version: 3.11.3
|
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.11.
|
26
|
+
version: 3.11.3
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: selenium-webdriver
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|