eyes_selenium 3.15.4.beta → 3.15.5.beta
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 +4 -4
- data/lib/applitools/selenium/configuration.rb +19 -4
- data/lib/applitools/selenium/selenium_eyes.rb +9 -1
- data/lib/applitools/selenium/visual_grid/eyes_connector.rb +0 -1
- data/lib/applitools/selenium/visual_grid/visual_grid_eyes.rb +25 -2
- data/lib/applitools/selenium/visual_grid/visual_grid_runner.rb +5 -2
- data/lib/applitools/version.rb +1 -1
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f9f3e9f6703e578f4b9e17e20053870636dd99c5f4dbebf773f0405055b2568c
|
4
|
+
data.tar.gz: 05e2240ea7364269af763aae6d3ae1a5c8b0e8633c89583282aee82243955c21
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 82b06500557dfa412815a588ffd424845f60965503d302b376140efd9cacff2e6b50143879338a86a1c86bc1bc185cb8df707cfc434279958c970558405cf836
|
7
|
+
data.tar.gz: 294c5ad3389d4557ebbe542dc4b7eb15727ede34dfd2ee57f3144a0b510fab504086907deea1b96d77fe5ab486c0ed0cdd047a08fd01f0f6358ce9d025f60e4d
|
@@ -8,7 +8,7 @@ module Applitools
|
|
8
8
|
DEFAULT_CONFIG = proc do
|
9
9
|
{
|
10
10
|
force_full_page_screenshot: false,
|
11
|
-
wait_before_screenshots:
|
11
|
+
wait_before_screenshots: 0.1,
|
12
12
|
stitch_mode: Applitools::Selenium::StitchModes::CSS,
|
13
13
|
hide_scrollbars: false,
|
14
14
|
hide_caret: false,
|
@@ -29,7 +29,6 @@ module Applitools
|
|
29
29
|
boolean_field :send_dom
|
30
30
|
|
31
31
|
object_field :browsers_info, Applitools::Selenium::BrowsersInfo
|
32
|
-
|
33
32
|
int_field :concurrent_sessions
|
34
33
|
|
35
34
|
def add_browser(*args)
|
@@ -45,7 +44,7 @@ module Applitools
|
|
45
44
|
end
|
46
45
|
yield(Applitools::Selenium::RenderBrowserInfoFluent.new(browser)) if block_given?
|
47
46
|
browsers_info.add browser
|
48
|
-
self.viewport_size = browser.viewport_size unless viewport_size
|
47
|
+
# self.viewport_size = browser.viewport_size unless viewport_size
|
49
48
|
self
|
50
49
|
end
|
51
50
|
|
@@ -58,10 +57,26 @@ module Applitools
|
|
58
57
|
def deep_clone
|
59
58
|
new_config = self.class.new
|
60
59
|
config_keys.each do |k|
|
61
|
-
new_config.send(
|
60
|
+
new_config.send(
|
61
|
+
"#{k}=", case value = self.send(k)
|
62
|
+
when Symbol, FalseClass, TrueClass, Fixnum, Float
|
63
|
+
value
|
64
|
+
else
|
65
|
+
value.clone
|
66
|
+
end
|
67
|
+
)
|
62
68
|
end
|
63
69
|
new_config
|
64
70
|
end
|
71
|
+
|
72
|
+
def viewport_size
|
73
|
+
user_defined_vp = super
|
74
|
+
user_defined_vp = nil if user_defined_vp.respond_to?(:square) && user_defined_vp.square == 0
|
75
|
+
return user_defined_vp if user_defined_vp
|
76
|
+
from_browsers_info = browsers_info.select {|bi| bi.viewport_size.square > 0 }.first
|
77
|
+
return from_browsers_info.viewport_size if from_browsers_info
|
78
|
+
nil
|
79
|
+
end
|
65
80
|
end
|
66
81
|
end
|
67
82
|
end
|
@@ -103,12 +103,14 @@ module Applitools::Selenium
|
|
103
103
|
attr_reader :driver
|
104
104
|
|
105
105
|
def_delegators 'Applitools::EyesLogger', :logger, :log_handler, :log_handler=
|
106
|
+
def_delegators 'config', *Applitools::Selenium::Configuration.methods_to_delegate
|
106
107
|
|
107
108
|
# Creates a new (possibly disabled) Eyes instance that interacts with the
|
108
109
|
# Eyes Server at the specified url.
|
109
110
|
#
|
110
111
|
# @param server_url The Eyes Server URL.
|
111
112
|
def initialize(server_url = nil)
|
113
|
+
ensure_config
|
112
114
|
super
|
113
115
|
self.base_agent_id = "eyes.selenium.ruby/#{Applitools::VERSION}".freeze
|
114
116
|
self.check_frame_or_element = false
|
@@ -136,6 +138,12 @@ module Applitools::Selenium
|
|
136
138
|
self.prevent_dom_processing = false
|
137
139
|
end
|
138
140
|
|
141
|
+
|
142
|
+
def ensure_config
|
143
|
+
self.config = Applitools::Selenium::Configuration.new
|
144
|
+
end
|
145
|
+
|
146
|
+
|
139
147
|
# Starts a test
|
140
148
|
#
|
141
149
|
# @param options [Hash] options
|
@@ -154,7 +162,7 @@ module Applitools::Selenium
|
|
154
162
|
options[:viewport_size] = Applitools::RectangleSize.from_any_argument options[:viewport_size] if
|
155
163
|
options[:viewport_size]
|
156
164
|
Applitools::ArgumentGuard.not_nil original_driver, 'options[:driver]'
|
157
|
-
Applitools::ArgumentGuard.hash options, 'open(options)', [:app_name, :test_name]
|
165
|
+
# Applitools::ArgumentGuard.hash options, 'open(options)', [:app_name, :test_name]
|
158
166
|
|
159
167
|
if disabled?
|
160
168
|
logger.info('Ignored')
|
@@ -34,6 +34,12 @@ module Applitools
|
|
34
34
|
self.driver = options.delete(:driver)
|
35
35
|
self.current_url = driver.current_url
|
36
36
|
|
37
|
+
if viewport_size
|
38
|
+
set_viewport_size(viewport_size)
|
39
|
+
else
|
40
|
+
self.viewport_size = get_viewport_size
|
41
|
+
end
|
42
|
+
|
37
43
|
visual_grid_manager.open(self)
|
38
44
|
|
39
45
|
logger.info("getting all browsers info...")
|
@@ -43,15 +49,20 @@ module Applitools
|
|
43
49
|
test_list.push Applitools::Selenium::RunningTest.new(eyes_connector, bi, driver)
|
44
50
|
end
|
45
51
|
self.opened = true
|
52
|
+
|
46
53
|
driver
|
47
54
|
end
|
48
55
|
|
56
|
+
def get_viewport_size(web_driver = driver)
|
57
|
+
Applitools::ArgumentGuard.not_nil 'web_driver', web_driver
|
58
|
+
Applitools::Utils::EyesSeleniumUtils.extract_viewport_size(driver)
|
59
|
+
end
|
60
|
+
|
49
61
|
def eyes_connector
|
50
62
|
logger.info("creating VisualGridEyes server connector")
|
51
63
|
::Applitools::Selenium::EyesConnector.new(server_url).tap do |connector|
|
52
64
|
connector.batch = batch_info
|
53
65
|
connector.config = config.deep_clone
|
54
|
-
connector.proxy = proxy if proxy.is_a? Applitools::Connectivity::Proxy
|
55
66
|
end
|
56
67
|
end
|
57
68
|
|
@@ -60,6 +71,7 @@ module Applitools
|
|
60
71
|
var callback = arguments[arguments.length - 1]; return (#{Applitools::Selenium::Scripts::PROCESS_RESOURCES})().then(JSON.stringify).then(callback, function(err) {callback(err.stack || err.toString())});
|
61
72
|
END
|
62
73
|
begin
|
74
|
+
sleep wait_before_screenshots
|
63
75
|
script_result = driver.execute_async_script(script).freeze
|
64
76
|
mod = Digest::SHA2.hexdigest(script_result)
|
65
77
|
test_list.each do |t|
|
@@ -96,7 +108,8 @@ module Applitools
|
|
96
108
|
raise Applitools::TestFailedError.new test_failed_error_message(r), r if r.failed?
|
97
109
|
end
|
98
110
|
end
|
99
|
-
test_list.map(&:test_result).
|
111
|
+
failed_results = test_list.map(&:test_result).compact.select { |r| !r.as_expected? }
|
112
|
+
failed_results.empty? ? test_list.map(&:test_result).compact.first : failed_results
|
100
113
|
end
|
101
114
|
|
102
115
|
def open?
|
@@ -107,6 +120,16 @@ module Applitools
|
|
107
120
|
test_list.map(&:test_result)
|
108
121
|
end
|
109
122
|
|
123
|
+
def set_viewport_size(value)
|
124
|
+
begin
|
125
|
+
Applitools::Utils::EyesSeleniumUtils.set_viewport_size driver, value
|
126
|
+
rescue => e
|
127
|
+
logger.error e.class.to_s
|
128
|
+
logger.error e.message
|
129
|
+
raise Applitools::TestFailedError.new "#{e.class} - #{e.message}"
|
130
|
+
end
|
131
|
+
end
|
132
|
+
|
110
133
|
def new_test_error_message(result)
|
111
134
|
original_results = result.original_results
|
112
135
|
"New test '#{original_results['name']}' " \
|
@@ -24,7 +24,7 @@ module Applitools
|
|
24
24
|
end
|
25
25
|
|
26
26
|
def stop
|
27
|
-
while all_running_tests.map
|
27
|
+
while all_running_tests.map(&:score).reduce(0, :+) > 0 do
|
28
28
|
sleep 0.5
|
29
29
|
end
|
30
30
|
@thread_pool.stop
|
@@ -35,7 +35,10 @@ module Applitools
|
|
35
35
|
end
|
36
36
|
|
37
37
|
def get_all_test_results
|
38
|
-
all_eyes.select {|e|
|
38
|
+
while !(all_eyes.select {|e| e.open?}.empty?)
|
39
|
+
sleep 0.5
|
40
|
+
end
|
41
|
+
all_eyes.map { |e| e.test_list.map(&:test_result) }.flatten
|
39
42
|
end
|
40
43
|
|
41
44
|
private
|
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.15.
|
4
|
+
version: 3.15.5.beta
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Applitools Team
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-04-
|
11
|
+
date: 2019-04-03 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.15.
|
19
|
+
version: 3.15.5.beta
|
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.15.
|
26
|
+
version: 3.15.5.beta
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: selenium-webdriver
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -152,7 +152,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
152
152
|
version: 1.3.1
|
153
153
|
requirements: []
|
154
154
|
rubyforge_project:
|
155
|
-
rubygems_version: 2.7.
|
155
|
+
rubygems_version: 2.7.9
|
156
156
|
signing_key:
|
157
157
|
specification_version: 4
|
158
158
|
summary: Applitools Ruby Selenium SDK
|