eyes_selenium 3.10.0 → 3.10.1
Sign up to get free protection for your applications and to get access to all the features.
- 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
|