eyes_selenium 3.10.0 → 3.10.1
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/poltergeist/applitools_compatible.rb +32 -0
- data/lib/applitools/poltergeist/driver.rb +11 -0
- data/lib/applitools/selenium/capybara/capybara_settings.rb +19 -15
- data/lib/applitools/selenium/capybara/driver.rb +2 -2
- data/lib/applitools/selenium/eyes.rb +3 -4
- data/lib/applitools/selenium/target.rb +5 -16
- data/lib/applitools/version.rb +1 -1
- data/lib/eyes_selenium.rb +5 -8
- metadata +6 -5
- data/lib/applitools/selenium/region_provider.rb +0 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f06722619f30d8f8161191c90e260f3942796534
|
4
|
+
data.tar.gz: 6cdf3ed4f48197d05086001b133ee60097cd7fcf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2cb6db07bd67a7d263f2e5e43ecc040eba9a5754832e7535b54ebdf76ef2711ffa7731dc4e4cac0bc71aa96df8a07dd2de57b6b22fcb382a3f178c6d1929f6d8
|
7
|
+
data.tar.gz: e860a3b924cbb7f90824ab0b323638a2c00440dc2cca4303bba39a1fafdace7cf43b9bbd86e7579252211385495ee27112b76fceab119a5bf93421a18d407568
|
@@ -0,0 +1,32 @@
|
|
1
|
+
# This module is used for compatibility with Applitools API.
|
2
|
+
# Should be extended by Poltergeist driver instance.
|
3
|
+
module Applitools::Poltergeist
|
4
|
+
module ApplitoolsCompatible
|
5
|
+
# Implementation of `screenshot_as` method for PhantomJS.
|
6
|
+
# Realisation uses Poltergeist binding to `renderBase64` PhantomJS method.
|
7
|
+
def screenshot_as(fmt)
|
8
|
+
Base64.decode64(browser.render_base64(fmt))
|
9
|
+
end
|
10
|
+
|
11
|
+
# Poltergeist driver does not have `manage` and `window` methods.
|
12
|
+
# In Applitools these methods are used in a chain to get size by `size` method call.
|
13
|
+
%w(manage window).each do |method_name|
|
14
|
+
define_method(method_name) { self }
|
15
|
+
end
|
16
|
+
|
17
|
+
# Method provides opened window size in Applitools format.
|
18
|
+
def size
|
19
|
+
size = window_size(current_window_handle)
|
20
|
+
Applitools::Base::Dimension.new(size[0], size[1])
|
21
|
+
end
|
22
|
+
|
23
|
+
# Method changes opened window size in a way how original Applitools::Selenium::Driver does.
|
24
|
+
def size=(new_size)
|
25
|
+
resize(new_size.width, new_size.height)
|
26
|
+
end
|
27
|
+
|
28
|
+
# def switch_to(*args)
|
29
|
+
# switch_to_frame(*args)
|
30
|
+
# end
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
# Applitools::Poltergeist::Driver is a small class implemented
|
2
|
+
# for compatibility with Applitools API.
|
3
|
+
# It gives required for Applitools methods to Poltergeist driver.
|
4
|
+
module Applitools::Poltergeist
|
5
|
+
class Driver < Applitools::Selenium::Driver
|
6
|
+
def initialize(eyes, options)
|
7
|
+
options[:driver].extend Applitools::Poltergeist::ApplitoolsCompatible
|
8
|
+
super(eyes, options)
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
@@ -1,19 +1,23 @@
|
|
1
|
-
module Applitools
|
2
|
-
module
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
1
|
+
module Applitools
|
2
|
+
module Selenium
|
3
|
+
module Capybara
|
4
|
+
module CapybaraSettings
|
5
|
+
# Registers Capybara driver which will be used by eyes and sets it as default Capybara driver.
|
6
|
+
# The name of the driver is :eyes, and the driver is a descendant of class Capybara::Selenium::Driver.
|
7
|
+
# Options are eventually passed to drivers constructor
|
8
|
+
# @param [Hash] options
|
9
|
+
# @example
|
10
|
+
# Applitools.register_capybara_driver :browser => :chrome
|
11
|
+
# @example
|
12
|
+
# Applitools.register_capybara_driver :browser => :remote, :url => 'remote_url', :desired_capabilities => {}
|
13
|
+
def register_capybara_driver(options = {})
|
14
|
+
::Capybara.register_driver :eyes do |app|
|
15
|
+
Applitools::Selenium::Capybara::Driver.new app, options
|
16
|
+
end
|
17
|
+
::Capybara.default_driver = :eyes
|
18
|
+
::Capybara.javascript_driver = :eyes
|
19
|
+
end
|
14
20
|
end
|
15
|
-
Capybara.default_driver = :eyes
|
16
|
-
Capybara.javascript_driver = :eyes
|
17
21
|
end
|
18
22
|
end
|
19
23
|
end
|
@@ -24,8 +24,8 @@ if defined? Capybara::Selenium::Driver
|
|
24
24
|
end
|
25
25
|
end
|
26
26
|
|
27
|
-
if defined? Capybara::Session
|
28
|
-
Capybara::Session.class_eval do
|
27
|
+
if defined? ::Capybara::Session
|
28
|
+
::Capybara::Session.class_eval do
|
29
29
|
def driver_for_eyes(eyes)
|
30
30
|
driver.driver_for_eyes eyes
|
31
31
|
end
|
@@ -262,7 +262,6 @@ module Applitools::Selenium
|
|
262
262
|
begin
|
263
263
|
match_data = Applitools::MatchWindowData.new
|
264
264
|
match_data.tag = name
|
265
|
-
match_data.match_level = default_match_settings[:match_level]
|
266
265
|
match_data.read_target(target, driver)
|
267
266
|
eyes_element = target.region_to_check.call(driver)
|
268
267
|
region_visibility_strategy.move_to_region original_position_provider,
|
@@ -275,13 +274,13 @@ module Applitools::Selenium
|
|
275
274
|
|
276
275
|
elsif eyes_element.is_a? Applitools::Selenium::Element
|
277
276
|
# check_element
|
278
|
-
region_provider = Applitools::
|
277
|
+
region_provider = Applitools::RegionProvider.new(
|
279
278
|
region_for_element(eyes_element),
|
280
279
|
target.coordinate_type
|
281
280
|
)
|
282
281
|
else
|
283
282
|
# check_window
|
284
|
-
region_provider = Applitools::
|
283
|
+
region_provider = Applitools::RegionProvider.new(
|
285
284
|
region_for_element(eyes_element),
|
286
285
|
target.coordinate_type
|
287
286
|
)
|
@@ -299,7 +298,7 @@ module Applitools::Selenium
|
|
299
298
|
|
300
299
|
self.region_to_check = region_provider
|
301
300
|
|
302
|
-
region_provider = Applitools::
|
301
|
+
region_provider = Applitools::RegionProvider.new(
|
303
302
|
Applitools::Region::EMPTY,
|
304
303
|
nil
|
305
304
|
)
|
@@ -1,6 +1,7 @@
|
|
1
1
|
module Applitools
|
2
2
|
module Selenium
|
3
3
|
class Target
|
4
|
+
include Applitools::FluentInterface
|
4
5
|
class << self
|
5
6
|
def frame(element)
|
6
7
|
new.frame(element)
|
@@ -20,7 +21,10 @@ module Applitools
|
|
20
21
|
# Initialize a Applitools::Selenium::Target instance.
|
21
22
|
def initialize
|
22
23
|
self.frames = []
|
23
|
-
self.options = {
|
24
|
+
self.options = {
|
25
|
+
ignore_caret: false,
|
26
|
+
ignore_mismatch: false
|
27
|
+
}
|
24
28
|
reset_for_fullscreen
|
25
29
|
end
|
26
30
|
|
@@ -48,11 +52,6 @@ module Applitools
|
|
48
52
|
self
|
49
53
|
end
|
50
54
|
|
51
|
-
def ignore_caret(value = false)
|
52
|
-
options[:ignore_caret] = value ? true : false
|
53
|
-
self
|
54
|
-
end
|
55
|
-
|
56
55
|
def floating(*args)
|
57
56
|
value = case args.first
|
58
57
|
when Applitools::FloatingRegion
|
@@ -78,11 +77,6 @@ module Applitools
|
|
78
77
|
self
|
79
78
|
end
|
80
79
|
|
81
|
-
def timeout(value)
|
82
|
-
options[:timeout] = value
|
83
|
-
self
|
84
|
-
end
|
85
|
-
|
86
80
|
def frame(element)
|
87
81
|
frames << element
|
88
82
|
reset_for_fullscreen
|
@@ -113,11 +107,6 @@ module Applitools
|
|
113
107
|
self
|
114
108
|
end
|
115
109
|
|
116
|
-
def trim
|
117
|
-
options[:trim] = true
|
118
|
-
self
|
119
|
-
end
|
120
|
-
|
121
110
|
private
|
122
111
|
|
123
112
|
def reset_for_fullscreen
|
data/lib/applitools/version.rb
CHANGED
data/lib/eyes_selenium.rb
CHANGED
@@ -1,13 +1,10 @@
|
|
1
1
|
require 'eyes_core'
|
2
2
|
|
3
|
-
module Applitools
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
Dir[File.join(File.dirname(File.expand_path(__FILE__)), 'applitools', dir, '*.rb')].sort.each do |f|
|
9
|
-
require f
|
10
|
-
end
|
3
|
+
module Applitools
|
4
|
+
module Selenium
|
5
|
+
extend Applitools::RequireUtils
|
6
|
+
def self.load_dir
|
7
|
+
File.dirname(File.expand_path(__FILE__))
|
11
8
|
end
|
12
9
|
end
|
13
10
|
end
|
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.10.
|
4
|
+
version: 3.10.1
|
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-
|
11
|
+
date: 2017-06-02 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.10.
|
19
|
+
version: 3.10.1
|
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.10.
|
26
|
+
version: 3.10.1
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: selenium-webdriver
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -74,6 +74,8 @@ extensions: []
|
|
74
74
|
extra_rdoc_files: []
|
75
75
|
files:
|
76
76
|
- lib/applitools/capybara.rb
|
77
|
+
- lib/applitools/poltergeist/applitools_compatible.rb
|
78
|
+
- lib/applitools/poltergeist/driver.rb
|
77
79
|
- lib/applitools/selenium/border_aware_element_content_location_provider.rb
|
78
80
|
- lib/applitools/selenium/browser.rb
|
79
81
|
- lib/applitools/selenium/capybara/capybara_settings.rb
|
@@ -94,7 +96,6 @@ files:
|
|
94
96
|
- lib/applitools/selenium/mouse.rb
|
95
97
|
- lib/applitools/selenium/move_to_region_visibility_strategy.rb
|
96
98
|
- lib/applitools/selenium/nop_region_visibility_strategy.rb
|
97
|
-
- lib/applitools/selenium/region_provider.rb
|
98
99
|
- lib/applitools/selenium/sauce/driver.rb
|
99
100
|
- lib/applitools/selenium/scroll_position_provider.rb
|
100
101
|
- lib/applitools/selenium/takes_screenshot_image_provider.rb
|