eyes_selenium 2.33.0 → 2.34.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/eyes_selenium.gemspec +27 -2
- data/lib/applitools/appium_driver.rb +7 -0
- data/lib/applitools/base/batch_info.rb +2 -0
- data/lib/applitools/base/region.rb +4 -4
- data/lib/applitools/capybara.rb +8 -0
- data/lib/applitools/capybara/capybara_settings.rb +11 -0
- data/lib/applitools/capybara/driver.rb +28 -0
- data/lib/applitools/eyes.rb +4 -8
- data/lib/applitools/sauce.rb +2 -0
- data/lib/applitools/sauce/driver.rb +23 -0
- data/lib/applitools/selenium/browser.rb +1 -1
- data/lib/applitools/selenium/driver.rb +6 -3
- data/lib/applitools/selenium/element.rb +12 -0
- data/lib/applitools/selenium/viewport_size.rb +1 -1
- data/lib/applitools/selenium_webdriver.rb +8 -0
- data/lib/applitools/utils/image_delta_compressor.rb +2 -2
- data/lib/applitools/utils/image_utils.rb +4 -0
- data/lib/applitools/version.rb +1 -1
- data/lib/applitools/watir_browser.rb +8 -0
- data/lib/eyes_selenium.rb +20 -4
- data/test/capybara_example.rb +13 -18
- data/test/sauce_capybara_check.rb +20 -15
- metadata +38 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9cbf531403111ae72e83570622b2f33dbe3c5a1a
|
4
|
+
data.tar.gz: 08932a393797ce48ea59a403f2c351e6abebc1ae
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 83313b5b82299099476d65a5dc975fe2b5797965e2be4cd99055c38ba6cc86b14a7bc6acbca1a223c4dcefdff46a891d0a50267bd572b17fda34436ef7f8d477
|
7
|
+
data.tar.gz: 6419913c448acb3f4b2cb92b9fd1313ad46a0719335c594abd68f62f49127dab20ba09355ad99f4256fc142df82cba22589e0c44961ad31f6ddd339adf0fe7a8
|
data/eyes_selenium.gemspec
CHANGED
@@ -3,6 +3,30 @@ lib = File.expand_path('../lib', __FILE__)
|
|
3
3
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
4
|
require 'applitools/version'
|
5
5
|
|
6
|
+
CURRENT_RYBY_VERSION = Gem::Version.new RUBY_VERSION
|
7
|
+
|
8
|
+
RUBY_1_9_3 = Gem::Version.new '1.9.3'
|
9
|
+
RUBY_2_0_0 = Gem::Version.new '2.0.0'
|
10
|
+
RUBY_2_2_2 = Gem::Version.new '2.2.2'
|
11
|
+
|
12
|
+
RUBY_KEY = [RUBY_1_9_3, RUBY_2_0_0, RUBY_2_2_2].select { |v| v <= CURRENT_RYBY_VERSION }.last
|
13
|
+
|
14
|
+
EYES_GEM_SPECS = {
|
15
|
+
RUBY_1_9_3 => proc do |spec|
|
16
|
+
spec.add_development_dependency 'mime-types', ['~> 2.99.0']
|
17
|
+
spec.add_development_dependency 'rack', ['~> 1.6.0']
|
18
|
+
spec.add_development_dependency 'tomlrb', ['<= 1.2.2']
|
19
|
+
spec.add_development_dependency 'rubocop', ['~> 0.41.1']
|
20
|
+
end,
|
21
|
+
RUBY_2_0_0 => proc do |spec|
|
22
|
+
spec.add_development_dependency 'rack', ['~> 1.6.0']
|
23
|
+
spec.add_development_dependency 'rubocop'
|
24
|
+
end,
|
25
|
+
RUBY_2_2_2 => proc do |spec|
|
26
|
+
spec.add_development_dependency 'rubocop'
|
27
|
+
end
|
28
|
+
}.freeze
|
29
|
+
|
6
30
|
Gem::Specification.new do |spec|
|
7
31
|
spec.name = 'eyes_selenium'
|
8
32
|
spec.version = Applitools::VERSION
|
@@ -29,12 +53,13 @@ Gem::Specification.new do |spec|
|
|
29
53
|
spec.add_development_dependency 'rspec', '>= 3'
|
30
54
|
spec.add_development_dependency 'watir-webdriver'
|
31
55
|
spec.add_development_dependency 'appium_lib'
|
32
|
-
|
56
|
+
EYES_GEM_SPECS[RUBY_KEY].call spec
|
33
57
|
|
34
58
|
# Exclude debugging support on Travis CI, due to its incompatibility with jruby and older rubies.
|
35
|
-
unless ENV['TRAVIS']
|
59
|
+
unless ENV['TRAVIS'] || CURRENT_RYBY_VERSION < Gem::Version.new('2.0.0')
|
36
60
|
spec.add_development_dependency 'pry'
|
37
61
|
spec.add_development_dependency 'pry-byebug'
|
62
|
+
spec.add_development_dependency 'byebug'
|
38
63
|
spec.add_development_dependency 'pry-doc'
|
39
64
|
spec.add_development_dependency 'pry-stack_explorer'
|
40
65
|
end
|
@@ -42,10 +42,10 @@ module Applitools::Base
|
|
42
42
|
return
|
43
43
|
end
|
44
44
|
|
45
|
-
i_left =
|
46
|
-
i_right =
|
47
|
-
i_top =
|
48
|
-
i_bottom =
|
45
|
+
i_left = left >= other.left ? left : other.left
|
46
|
+
i_right = right <= other.right ? right : other.right
|
47
|
+
i_top = top >= other.top ? top : other.top
|
48
|
+
i_bottom = bottom <= other.bottom ? bottom : other.bottom
|
49
49
|
|
50
50
|
@left = i_left
|
51
51
|
@top = i_top
|
@@ -0,0 +1,11 @@
|
|
1
|
+
module Applitools::Capybara
|
2
|
+
module CapybaraSettings
|
3
|
+
def register_capybara_driver(options = {})
|
4
|
+
Capybara.register_driver :eyes do |app|
|
5
|
+
Applitools::Capybara::Driver.new app, options
|
6
|
+
end
|
7
|
+
Capybara.default_driver = :eyes
|
8
|
+
Capybara.javascript_driver = :eyes
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
if defined? Capybara::Selenium::Driver
|
2
|
+
module Applitools::Capybara
|
3
|
+
class Driver < Capybara::Selenium::Driver
|
4
|
+
def driver_for_eyes(eyes)
|
5
|
+
browser eyes: eyes
|
6
|
+
end
|
7
|
+
|
8
|
+
def browser(options = {})
|
9
|
+
eyes = options.delete(:eyes)
|
10
|
+
super()
|
11
|
+
if eyes.present?
|
12
|
+
is_mobile_device = @browser.capabilities['platformName'] ? true : false
|
13
|
+
@browser = Applitools::Selenium::Driver.new eyes,
|
14
|
+
options.merge(driver: @browser, is_mobile_device: is_mobile_device)
|
15
|
+
end
|
16
|
+
@browser
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
if defined? Capybara::Session
|
23
|
+
Capybara::Session.class_eval do
|
24
|
+
def driver_for_eyes(eyes)
|
25
|
+
driver.driver_for_eyes eyes
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
data/lib/applitools/eyes.rb
CHANGED
@@ -132,14 +132,8 @@ class Applitools::Eyes
|
|
132
132
|
"use 'api_key' to set it.")
|
133
133
|
end
|
134
134
|
|
135
|
-
if driver.
|
136
|
-
|
137
|
-
@driver = Applitools::Selenium::Driver.new(self, driver: driver, is_mobile_device: is_mobile_device)
|
138
|
-
elsif defined?(Appium::Driver) && driver.is_a?(Appium::Driver)
|
139
|
-
@driver = Applitools::Selenium::Driver.new(self, driver: driver.driver, is_mobile_device: true)
|
140
|
-
elsif defined?(Watir::Browser) && driver.is_a?(Watir::Browser)
|
141
|
-
is_mobile_device = driver.driver.capabilities['platformName'] ? true : false
|
142
|
-
@driver = Applitools::Selenium::Driver.new(self, driver: driver.driver, is_mobile_device: is_mobile_device)
|
135
|
+
if driver.respond_to? :driver_for_eyes
|
136
|
+
@driver = driver.driver_for_eyes self
|
143
137
|
else
|
144
138
|
unless driver.is_a?(Applitools::Selenium::Driver)
|
145
139
|
Applitools::EyesLogger.warn("Unrecognized driver type: (#{driver.class.name})!")
|
@@ -204,6 +198,8 @@ class Applitools::Eyes
|
|
204
198
|
Applitools::EyesLogger.debug 'Element given as an argument...'
|
205
199
|
raise Applitools::EyesError.new('Element does not exist') if what.nil?
|
206
200
|
element_to_check = what
|
201
|
+
elsif how == :region && what.is_a?(Applitools::Base::Region)
|
202
|
+
return check_region_(what, tag, specific_timeout)
|
207
203
|
else
|
208
204
|
Applitools::EyesLogger.debug 'Finding element...'
|
209
205
|
element_to_check = driver.find_element(how, what)
|
@@ -0,0 +1,23 @@
|
|
1
|
+
if defined? Sauce::Selenium2
|
2
|
+
Sauce::Capybara::Driver.class_eval do
|
3
|
+
def driver_for_eyes(eyes)
|
4
|
+
browser.raw_driver eyes: eyes
|
5
|
+
end
|
6
|
+
end
|
7
|
+
|
8
|
+
Sauce::Selenium2.class_eval do
|
9
|
+
def driver_for_eyes(eyes)
|
10
|
+
raw_driver eyes: eyes
|
11
|
+
end
|
12
|
+
|
13
|
+
def raw_driver(options = {})
|
14
|
+
eyes = options.delete(:eyes)
|
15
|
+
if eyes.present?
|
16
|
+
is_mobile_device = @raw_driver.capabilities['platformName'] ? true : false
|
17
|
+
@raw_driver = Applitools::Selenium::Driver.new eyes,
|
18
|
+
options.merge(driver: @raw_driver, is_mobile_device: is_mobile_device)
|
19
|
+
end
|
20
|
+
@raw_driver
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -175,7 +175,7 @@ module Applitools::Selenium
|
|
175
175
|
page_size.height).subregions(screenshot_part_size)
|
176
176
|
parts = sub_regions.map do |screenshot_part|
|
177
177
|
# Skip (0,0), as we already got the screenshot.
|
178
|
-
if screenshot_part.left
|
178
|
+
if screenshot_part.left.zero? && screenshot_part.top.zero?
|
179
179
|
next Applitools::Base::ImagePosition.new(screenshot, Applitools::Base::Point::TOP_LEFT)
|
180
180
|
end
|
181
181
|
|
@@ -35,7 +35,6 @@ module Applitools::Selenium
|
|
35
35
|
# If driver is not provided, Applitools::Selenium::Driver will raise an EyesError exception.
|
36
36
|
def initialize(eyes, options)
|
37
37
|
super(options[:driver])
|
38
|
-
|
39
38
|
@is_mobile_device = options.fetch(:is_mobile_device, false)
|
40
39
|
@wait_before_screenshots = 0
|
41
40
|
@eyes = eyes
|
@@ -138,6 +137,10 @@ module Applitools::Selenium
|
|
138
137
|
|
139
138
|
private
|
140
139
|
|
140
|
+
def bridge
|
141
|
+
__getobj__.send(:bridge)
|
142
|
+
end
|
143
|
+
|
141
144
|
def driver
|
142
145
|
@driver ||= __getobj__
|
143
146
|
end
|
@@ -174,11 +177,11 @@ module Applitools::Selenium
|
|
174
177
|
# +rotation+:: +Integer+|+nil+ The degrees by which to rotate the image: positive values = clockwise rotation,
|
175
178
|
# negative values = counter-clockwise, 0 = force no rotation, +nil+ = rotate automatically when needed.
|
176
179
|
def normalize_rotation(driver, image, rotation)
|
177
|
-
return if rotation
|
180
|
+
return if rotation && rotation.zero?
|
178
181
|
|
179
182
|
num_quadrants = 0
|
180
183
|
if !rotation.nil?
|
181
|
-
if rotation % RIGHT_ANGLE
|
184
|
+
if (rotation % RIGHT_ANGLE).nonzero?
|
182
185
|
raise Applitools::EyesError.new('Currently only quadrant rotations are supported. Current rotation: '\
|
183
186
|
"#{rotation}")
|
184
187
|
end
|
@@ -67,5 +67,17 @@ module Applitools::Selenium
|
|
67
67
|
|
68
68
|
Applitools::Base::Region.new(left, top, width, height)
|
69
69
|
end
|
70
|
+
|
71
|
+
def find_element(*args)
|
72
|
+
self.class.new driver, super
|
73
|
+
end
|
74
|
+
|
75
|
+
def find_elements(*args)
|
76
|
+
super(*args).map { |e| self.class.new driver, e }
|
77
|
+
end
|
78
|
+
|
79
|
+
private
|
80
|
+
|
81
|
+
attr_reader :driver
|
70
82
|
end
|
71
83
|
end
|
@@ -130,7 +130,7 @@ module Applitools::Selenium
|
|
130
130
|
|
131
131
|
retries_left = VERIFY_RETRIES
|
132
132
|
|
133
|
-
until retries_left
|
133
|
+
until retries_left.zero?
|
134
134
|
return true if browser_size == required_browser_size
|
135
135
|
Applitools::EyesLogger.debug "Trying to set browser size to #{required_browser_size}"
|
136
136
|
resize_browser required_browser_size
|
@@ -0,0 +1,8 @@
|
|
1
|
+
if defined? Selenium::WebDriver::Driver
|
2
|
+
Selenium::WebDriver::Driver.class_eval do
|
3
|
+
def driver_for_eyes(eyes)
|
4
|
+
is_mobile_device = capabilities['platformName'] ? true : false
|
5
|
+
Applitools::Selenium::Driver.new(eyes, driver: self, is_mobile_device: is_mobile_device)
|
6
|
+
end
|
7
|
+
end
|
8
|
+
end
|
@@ -26,8 +26,8 @@ module Applitools::Utils
|
|
26
26
|
target_pixels = target.to_rgb_stream.unpack('C*')
|
27
27
|
source_pixels = source.to_rgb_stream.unpack('C*')
|
28
28
|
image_size = Dimension.new(target.width, target.height)
|
29
|
-
block_columns_count = (target.width / block_size) + ((target.width % block_size)
|
30
|
-
block_rows_count = (target.height / block_size) + ((target.height % block_size)
|
29
|
+
block_columns_count = (target.width / block_size) + ((target.width % block_size).zero? ? 0 : 1)
|
30
|
+
block_rows_count = (target.height / block_size) + ((target.height % block_size).zero? ? 0 : 1)
|
31
31
|
|
32
32
|
# IMPORTANT: The "-Zlib::MAX_WBITS" tells ZLib to create raw deflate compression, without the
|
33
33
|
# "Zlib headers" (this isn't documented in the Zlib page, I found this in some internet forum).
|
data/lib/applitools/version.rb
CHANGED
@@ -0,0 +1,8 @@
|
|
1
|
+
if defined? Watir::Browser
|
2
|
+
Watir::Browser.class_eval do
|
3
|
+
def driver_for_eyes(eyes)
|
4
|
+
is_mobile_device = driver.capabilities['platformName'] ? true : false
|
5
|
+
Applitools::Selenium::Driver.new(eyes, driver: driver, is_mobile_device: is_mobile_device)
|
6
|
+
end
|
7
|
+
end
|
8
|
+
end
|
data/lib/eyes_selenium.rb
CHANGED
@@ -1,8 +1,11 @@
|
|
1
1
|
module Applitools
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
2
|
+
class << self
|
3
|
+
def require_dir(dir)
|
4
|
+
Dir[File.join(File.dirname(File.expand_path(__FILE__)), 'applitools', dir, '*.rb')].sort.each do |f|
|
5
|
+
require f
|
6
|
+
end
|
7
|
+
end
|
8
|
+
end
|
6
9
|
|
7
10
|
class EyesError < StandardError; end
|
8
11
|
class EyesAbort < EyesError; end
|
@@ -19,3 +22,16 @@ module Applitools
|
|
19
22
|
|
20
23
|
class NewTestError < TestFailedError; end
|
21
24
|
end
|
25
|
+
|
26
|
+
require_relative 'applitools/method_tracer'
|
27
|
+
require_relative 'applitools/extensions'
|
28
|
+
require_relative 'applitools/version'
|
29
|
+
|
30
|
+
Applitools.require_dir 'base'
|
31
|
+
Applitools.require_dir 'utils'
|
32
|
+
Applitools.require_dir 'selenium'
|
33
|
+
|
34
|
+
require_relative 'applitools/eyes'
|
35
|
+
require_relative 'applitools/selenium_webdriver'
|
36
|
+
require_relative 'applitools/appium_driver'
|
37
|
+
require_relative 'applitools/watir_browser'
|
data/test/capybara_example.rb
CHANGED
@@ -4,12 +4,7 @@ require_relative '../lib/eyes_selenium'
|
|
4
4
|
require 'openssl'
|
5
5
|
OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE
|
6
6
|
|
7
|
-
|
8
|
-
Capybara.register_driver :selenium do |app|
|
9
|
-
Capybara::Selenium::Driver.new(app, :browser => :chrome)
|
10
|
-
end
|
11
|
-
|
12
|
-
Capybara.javascript_driver = :selenium
|
7
|
+
Applitools.register_capybara_driver :browser => :chrome
|
13
8
|
|
14
9
|
# require 'capybara/poltergeist'
|
15
10
|
#
|
@@ -19,25 +14,25 @@ Capybara.javascript_driver = :selenium
|
|
19
14
|
#
|
20
15
|
# Capybara.javascript_driver = :poltergeist_app
|
21
16
|
|
22
|
-
|
23
17
|
describe 'Capybara Example', :type => :feature, :js => true do
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
18
|
+
let(:eyes) do
|
19
|
+
Applitools::Eyes.new.tap do |eyes|
|
20
|
+
eyes.api_key = ENV['APPLITOOLS_API_KEY']
|
21
|
+
eyes.log_handler = Logger.new(STDOUT)
|
22
|
+
end
|
28
23
|
end
|
29
24
|
|
30
25
|
it 'Simple test' do
|
31
|
-
|
26
|
+
eyes.open(app_name: 'Ruby SDK', test_name: 'Capybara test', driver: page,
|
27
|
+
viewport_size: { width: 800, height: 600 })
|
32
28
|
visit 'http://github.com'
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
@eyes.close
|
29
|
+
eyes.check_window('homepage')
|
30
|
+
fill_in('user[login]', with: 'user')
|
31
|
+
eyes.check_window('homepage with username')
|
32
|
+
eyes.close
|
38
33
|
end
|
39
34
|
|
40
35
|
after :each do
|
41
|
-
|
36
|
+
eyes.abort_if_not_closed
|
42
37
|
end
|
43
38
|
end
|
@@ -2,37 +2,42 @@ require 'capybara'
|
|
2
2
|
require 'sauce'
|
3
3
|
require 'sauce/capybara'
|
4
4
|
require_relative '../lib/eyes_selenium'
|
5
|
+
require 'applitools/sauce'
|
5
6
|
require 'openssl'
|
6
7
|
OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE
|
7
8
|
|
8
9
|
Sauce.config do |config|
|
9
10
|
config[:browsers] = [
|
10
|
-
|
11
|
+
['OS X 10.10', 'chrome', '39.0']
|
11
12
|
]
|
12
13
|
config[:start_tunnel] = false
|
13
14
|
# config[:sauce_connect_4_executable] = '/path/to/sauce-connect/bin/sc'
|
14
15
|
end
|
15
16
|
|
16
|
-
Capybara.
|
17
|
+
Capybara.configure do |c|
|
18
|
+
c.javascript_driver = :sauce
|
19
|
+
c.default_driver = :sauce
|
20
|
+
end
|
17
21
|
|
18
|
-
describe 'A Saucy Example Group', :
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
22
|
+
describe 'A Saucy Example Group', sauce: true do
|
23
|
+
let!(:eyes) do
|
24
|
+
Applitools::Eyes.new.tap do |eyes|
|
25
|
+
eyes.api_key = ENV['APPLITOOLS_API_KEY']
|
26
|
+
eyes.log_handler = Logger.new(STDOUT)
|
27
|
+
end
|
23
28
|
end
|
24
29
|
|
25
30
|
it 'Simple test' do
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
31
|
+
eyes.open(app_name: 'Ruby SDK', test_name: 'Capybara test', driver: page,
|
32
|
+
viewport_size: { width: 800, height: 600 })
|
33
|
+
visit 'http://github.com'
|
34
|
+
eyes.check_window('homepage')
|
35
|
+
fill_in 'user[login]', with: 'user'
|
36
|
+
eyes.check_window('homepage with username')
|
37
|
+
eyes.close(false)
|
33
38
|
end
|
34
39
|
|
35
40
|
after :each do
|
36
41
|
@eyes.abort_if_not_closed
|
37
42
|
end
|
38
|
-
end
|
43
|
+
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: 2.
|
4
|
+
version: 2.34.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Applitools Team
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-08-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: selenium-webdriver
|
@@ -150,6 +150,20 @@ dependencies:
|
|
150
150
|
- - ">="
|
151
151
|
- !ruby/object:Gem::Version
|
152
152
|
version: '0'
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: rack
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - "~>"
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: 1.6.0
|
160
|
+
type: :development
|
161
|
+
prerelease: false
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - "~>"
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: 1.6.0
|
153
167
|
- !ruby/object:Gem::Dependency
|
154
168
|
name: rubocop
|
155
169
|
requirement: !ruby/object:Gem::Requirement
|
@@ -192,6 +206,20 @@ dependencies:
|
|
192
206
|
- - ">="
|
193
207
|
- !ruby/object:Gem::Version
|
194
208
|
version: '0'
|
209
|
+
- !ruby/object:Gem::Dependency
|
210
|
+
name: byebug
|
211
|
+
requirement: !ruby/object:Gem::Requirement
|
212
|
+
requirements:
|
213
|
+
- - ">="
|
214
|
+
- !ruby/object:Gem::Version
|
215
|
+
version: '0'
|
216
|
+
type: :development
|
217
|
+
prerelease: false
|
218
|
+
version_requirements: !ruby/object:Gem::Requirement
|
219
|
+
requirements:
|
220
|
+
- - ">="
|
221
|
+
- !ruby/object:Gem::Version
|
222
|
+
version: '0'
|
195
223
|
- !ruby/object:Gem::Dependency
|
196
224
|
name: pry-doc
|
197
225
|
requirement: !ruby/object:Gem::Requirement
|
@@ -237,6 +265,7 @@ files:
|
|
237
265
|
- Rakefile
|
238
266
|
- certs/cacert.pem
|
239
267
|
- eyes_selenium.gemspec
|
268
|
+
- lib/applitools/appium_driver.rb
|
240
269
|
- lib/applitools/base/batch_info.rb
|
241
270
|
- lib/applitools/base/dimension.rb
|
242
271
|
- lib/applitools/base/environment.rb
|
@@ -249,10 +278,15 @@ files:
|
|
249
278
|
- lib/applitools/base/start_info.rb
|
250
279
|
- lib/applitools/base/test_results.rb
|
251
280
|
- lib/applitools/base/text_trigger.rb
|
281
|
+
- lib/applitools/capybara.rb
|
282
|
+
- lib/applitools/capybara/capybara_settings.rb
|
283
|
+
- lib/applitools/capybara/driver.rb
|
252
284
|
- lib/applitools/extensions.rb
|
253
285
|
- lib/applitools/eyes.rb
|
254
286
|
- lib/applitools/eyes_logger.rb
|
255
287
|
- lib/applitools/method_tracer.rb
|
288
|
+
- lib/applitools/sauce.rb
|
289
|
+
- lib/applitools/sauce/driver.rb
|
256
290
|
- lib/applitools/selenium/browser.rb
|
257
291
|
- lib/applitools/selenium/driver.rb
|
258
292
|
- lib/applitools/selenium/element.rb
|
@@ -261,10 +295,12 @@ files:
|
|
261
295
|
- lib/applitools/selenium/match_window_task.rb
|
262
296
|
- lib/applitools/selenium/mouse.rb
|
263
297
|
- lib/applitools/selenium/viewport_size.rb
|
298
|
+
- lib/applitools/selenium_webdriver.rb
|
264
299
|
- lib/applitools/utils/image_delta_compressor.rb
|
265
300
|
- lib/applitools/utils/image_utils.rb
|
266
301
|
- lib/applitools/utils/utils.rb
|
267
302
|
- lib/applitools/version.rb
|
303
|
+
- lib/applitools/watir_browser.rb
|
268
304
|
- lib/eyes_selenium.rb
|
269
305
|
- spec/driver_passthrough_spec.rb
|
270
306
|
- spec/fixtures/static_test_file.html
|