eyes_selenium 2.33.0 → 2.34.0
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/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
|