eyes_selenium 2.37.0 → 2.38.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/.travis.yml +1 -2
- data/{test → examples}/appium_example_script.rb +2 -2
- data/examples/capybara_example.rb +82 -0
- data/{test → examples}/sauce_capybara_example.rb +0 -0
- data/{test → examples}/sauce_example.rb +0 -0
- data/{test/test_script.rb → examples/simple_test_script.rb} +0 -0
- data/{test → examples}/watir_test_script.rb +2 -3
- data/lib/applitools/appium_driver.rb +1 -1
- data/lib/applitools/capybara.rb +2 -2
- data/lib/applitools/eyes.rb +13 -6
- data/lib/applitools/sauce.rb +1 -1
- data/lib/applitools/{capybara → selenium/capybara}/capybara_settings.rb +2 -2
- data/lib/applitools/{capybara → selenium/capybara}/driver.rb +10 -2
- data/lib/applitools/selenium/driver.rb +14 -3
- data/lib/applitools/selenium/match_window_task.rb +1 -1
- data/lib/applitools/{sauce → selenium/sauce}/driver.rb +9 -0
- data/lib/applitools/utils/image_utils.rb +2 -2
- data/lib/applitools/version.rb +1 -1
- metadata +26 -18
- data/test/capybara_example.rb +0 -28
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3f99be729477dfe4620d7e5a34ac8bdf7c72b0d0
|
4
|
+
data.tar.gz: 960476bb8f22adb7348a2ff3c17b9785bb9c3bf7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 479fedebff785cec3a5bcc440fc9bb700713ecc70c84e2e5eef786ff9e4cb3306753ffef4766534fa7f5df95ef1f4d89a56028dd8760bb16b2b958ae2b760868
|
7
|
+
data.tar.gz: 2001fcb0b69a988b981bd3952e85121e968ab210d8c969593439d36d2b75351a318f3ac2f46e8c22725951f68bdda113816b0ff740d458328f3d3010b339cda9
|
data/.travis.yml
CHANGED
@@ -0,0 +1,82 @@
|
|
1
|
+
require 'rspec'
|
2
|
+
require 'capybara/rspec'
|
3
|
+
require 'eyes_selenium'
|
4
|
+
require 'applitools/capybara'
|
5
|
+
|
6
|
+
##
|
7
|
+
# This will register capybara driver :eyes by performing
|
8
|
+
#
|
9
|
+
# Capybara.register_driver :eyes do |app|
|
10
|
+
# Capybara::Selenium::Driver.new(options)
|
11
|
+
# end
|
12
|
+
#
|
13
|
+
# (options are passed to Applitools.register_capybara_driver method) and set it as a default driver.
|
14
|
+
# The page.driver.browser method will return Applitools::Selenium::Driver instance,
|
15
|
+
# based on standard Selenium::Webdriver driver, when eyes have opened.
|
16
|
+
# The page.driver.browser method will contain Selenium::Webdriver
|
17
|
+
# instance (without applitools wrapper), after eyes have closed
|
18
|
+
#
|
19
|
+
Applitools.register_capybara_driver :browser => :chrome
|
20
|
+
|
21
|
+
# Register another driver if needed
|
22
|
+
Capybara.register_driver :selenium_chrome do |app|
|
23
|
+
Capybara::Selenium::Driver.new(app, :browser => :chrome)
|
24
|
+
end
|
25
|
+
|
26
|
+
# And even one more
|
27
|
+
Capybara.register_driver :selenium_firefox do |app|
|
28
|
+
Capybara::Selenium::Driver.new(app, :browser => :firefox)
|
29
|
+
end
|
30
|
+
|
31
|
+
describe 'Capybara Example', :type => :feature, :js => true do
|
32
|
+
let(:eyes) do
|
33
|
+
Applitools::Eyes.new.tap do |eyes|
|
34
|
+
eyes.api_key = ENV['APPLITOOLS_API_KEY']
|
35
|
+
eyes.log_handler = Logger.new(STDOUT)
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
it 'Simple test' do
|
40
|
+
eyes.open(app_name: 'Ruby SDK', test_name: 'Capybara test', driver: page,
|
41
|
+
viewport_size: { width: 800, height: 600 })
|
42
|
+
visit 'http://github.com'
|
43
|
+
eyes.check_window('homepage')
|
44
|
+
fill_in('user[login]', with: 'user')
|
45
|
+
eyes.check_window('homepage with username')
|
46
|
+
eyes.close
|
47
|
+
end
|
48
|
+
|
49
|
+
##
|
50
|
+
# This will use :eyes driver with standard browser, without Applitools wrapper
|
51
|
+
# In our case - Selenium::Webdriver for :crome
|
52
|
+
#
|
53
|
+
it 'common capybara test' do
|
54
|
+
visit 'http://github.com'
|
55
|
+
fill_in('user[login]', with: 'user')
|
56
|
+
# and so on
|
57
|
+
end
|
58
|
+
|
59
|
+
it 'other chrome test' do
|
60
|
+
##
|
61
|
+
# this uses :selenium_chrome driver (see Capybara.register_driver block) instead of :eyes driver
|
62
|
+
Capybara.using_driver :selenium_chrome do
|
63
|
+
visit 'http://github.com'
|
64
|
+
fill_in('user[login]', with: 'user')
|
65
|
+
# and so on
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
after :each do
|
70
|
+
eyes.abort_if_not_closed
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
describe 'Other Capybara tests', :type => :feature, :js => true do
|
75
|
+
it 'some other chrome test' do
|
76
|
+
Capybara.using_driver :selenium_chrome do
|
77
|
+
visit 'http://github.com'
|
78
|
+
fill_in('user[login]', with: 'user')
|
79
|
+
# and so on
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
File without changes
|
File without changes
|
File without changes
|
@@ -1,7 +1,7 @@
|
|
1
1
|
if defined? Appium::Driver
|
2
2
|
Appium::Driver.class_eval do
|
3
3
|
def driver_for_eyes(eyes)
|
4
|
-
Applitools::Selenium::Driver.new(eyes, driver: driver, is_mobile_device: true)
|
4
|
+
Applitools::Selenium::Driver.new(eyes, driver: driver || start_driver, is_mobile_device: true)
|
5
5
|
end
|
6
6
|
end
|
7
7
|
end
|
data/lib/applitools/capybara.rb
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
require 'capybara'
|
2
2
|
|
3
|
-
Applitools.require_dir 'capybara'
|
3
|
+
Applitools.require_dir 'selenium/capybara'
|
4
4
|
|
5
5
|
module Applitools
|
6
|
-
extend Applitools::Capybara::CapybaraSettings
|
6
|
+
extend Applitools::Selenium::Capybara::CapybaraSettings
|
7
7
|
register_capybara_driver
|
8
8
|
end
|
data/lib/applitools/eyes.rb
CHANGED
@@ -67,16 +67,21 @@ class Applitools::Eyes
|
|
67
67
|
# override Eyes' automatic scaling inference. Values must be >=0 or +nil+. 1 = Don't scale, +nil+ = use Eyes'
|
68
68
|
# automatic scaling inference.
|
69
69
|
# +force_fullpage_screenshot+:: +boolean+ Whether or not to force fullpage screenshot taking, if the browser doesn't
|
70
|
-
#
|
70
|
+
# support it explicitly.
|
71
71
|
# +hide_scrollbars+:: +boolean+ Whether or not hide scrollbars.
|
72
72
|
# +use_css_transition+:: +boolean+ Whether or not to perform CSS transition.
|
73
73
|
# +wait_before_screenshot+:: +Integer+ The number of milliseconds to wait before each screenshot. Use -1 to reset to
|
74
|
-
#
|
75
|
-
|
74
|
+
# the default value.
|
75
|
+
# +debug_screenshot+:: +boolean+ If true saves every taken screenshot in current folder. File name has following
|
76
|
+
# format: +TAG_YYYY_MM_DD_HH_MI__N.png+, where +TAG+ - the tag specified for the test,
|
77
|
+
# +YYYY_MM_DD_HH_MI+ - date && time, +N+ - screenshot number (makes sence only when
|
78
|
+
# +force_fullpage_screenshot+ is true). Default value is false
|
79
|
+
|
80
|
+
attr_reader :app_name, :test_name, :is_open, :viewport_size, :driver, :passed_driver
|
76
81
|
attr_accessor :match_timeout, :batch, :host_os, :host_app, :branch_name, :parent_branch_name, :user_inputs,
|
77
82
|
:save_new_tests, :save_failed_tests, :is_disabled, :server_url, :agent_id, :failure_reports,
|
78
83
|
:match_level, :baseline_name, :rotation, :force_fullpage_screenshot, :hide_scrollbars,
|
79
|
-
:use_css_transition, :scale_ratio, :wait_before_screenshots
|
84
|
+
:use_css_transition, :scale_ratio, :wait_before_screenshots, :debug_screenshot
|
80
85
|
|
81
86
|
def_delegators 'Applitools::EyesLogger', :log_handler, :log_handler=
|
82
87
|
def_delegators 'Applitools::Base::ServerConnector', :api_key, :api_key=, :server_url, :server_url=, :set_proxy
|
@@ -103,7 +108,7 @@ class Applitools::Eyes
|
|
103
108
|
|
104
109
|
def initialize(options = {})
|
105
110
|
@is_disabled = false
|
106
|
-
|
111
|
+
@debug_screenshot = options[:debug_screenshot].nil? ? false : true
|
107
112
|
return if disabled?
|
108
113
|
|
109
114
|
@api_key = nil
|
@@ -124,7 +129,7 @@ class Applitools::Eyes
|
|
124
129
|
end
|
125
130
|
|
126
131
|
def open(options = {})
|
127
|
-
@driver = get_driver(options)
|
132
|
+
@passed_driver = @driver = get_driver(options.merge(debug_screenshot: debug_screenshot))
|
128
133
|
return driver if disabled?
|
129
134
|
|
130
135
|
if api_key.nil?
|
@@ -232,6 +237,7 @@ class Applitools::Eyes
|
|
232
237
|
def close(raise_ex = true)
|
233
238
|
return if disabled?
|
234
239
|
@is_open = false
|
240
|
+
passed_driver.use_native_browser if passed_driver.respond_to? :use_native_browser
|
235
241
|
|
236
242
|
# If there's no running session, the test was never started (never reached check_window).
|
237
243
|
unless @session
|
@@ -308,6 +314,7 @@ class Applitools::Eyes
|
|
308
314
|
return if disabled?
|
309
315
|
|
310
316
|
@is_open = false
|
317
|
+
passed_driver.use_native_browser if passed_driver.respond_to? :use_native_browser
|
311
318
|
|
312
319
|
return unless @session
|
313
320
|
|
data/lib/applitools/sauce.rb
CHANGED
@@ -1,2 +1,2 @@
|
|
1
1
|
require_relative 'capybara' if defined? Capybara
|
2
|
-
Applitools.require_dir 'sauce'
|
2
|
+
Applitools.require_dir 'selenium/sauce'
|
@@ -1,8 +1,8 @@
|
|
1
|
-
module Applitools::Capybara
|
1
|
+
module Applitools::Selenium::Capybara
|
2
2
|
module CapybaraSettings
|
3
3
|
def register_capybara_driver(options = {})
|
4
4
|
Capybara.register_driver :eyes do |app|
|
5
|
-
Applitools::Capybara::Driver.new app, options
|
5
|
+
Applitools::Selenium::Capybara::Driver.new app, options
|
6
6
|
end
|
7
7
|
Capybara.default_driver = :eyes
|
8
8
|
Capybara.javascript_driver = :eyes
|
@@ -1,5 +1,5 @@
|
|
1
1
|
if defined? Capybara::Selenium::Driver
|
2
|
-
module Applitools::Capybara
|
2
|
+
module Applitools::Selenium::Capybara
|
3
3
|
class Driver < Capybara::Selenium::Driver
|
4
4
|
def driver_for_eyes(eyes)
|
5
5
|
browser eyes: eyes
|
@@ -7,7 +7,7 @@ if defined? Capybara::Selenium::Driver
|
|
7
7
|
|
8
8
|
def browser(options = {})
|
9
9
|
eyes = options.delete(:eyes)
|
10
|
-
super()
|
10
|
+
@native_browser ||= super()
|
11
11
|
unless eyes.nil?
|
12
12
|
is_mobile_device = @browser.capabilities['platformName'] ? true : false
|
13
13
|
@browser = Applitools::Selenium::Driver.new eyes,
|
@@ -15,6 +15,10 @@ if defined? Capybara::Selenium::Driver
|
|
15
15
|
end
|
16
16
|
@browser
|
17
17
|
end
|
18
|
+
|
19
|
+
def use_native_browser
|
20
|
+
@browser = @native_browser
|
21
|
+
end
|
18
22
|
end
|
19
23
|
end
|
20
24
|
end
|
@@ -24,5 +28,9 @@ if defined? Capybara::Session
|
|
24
28
|
def driver_for_eyes(eyes)
|
25
29
|
driver.driver_for_eyes eyes
|
26
30
|
end
|
31
|
+
|
32
|
+
def use_native_browser
|
33
|
+
driver.use_native_browser if driver.respond_to? :use_native_browser
|
34
|
+
end
|
27
35
|
end
|
28
36
|
end
|
@@ -86,10 +86,13 @@ module Applitools::Selenium
|
|
86
86
|
# Return a normalized screenshot.
|
87
87
|
#
|
88
88
|
# +rotation+:: +Integer+|+nil+ The degrees by which to rotate the image: positive values = clockwise rotation,
|
89
|
-
#
|
89
|
+
# negative values = counter-clockwise, 0 = force no rotation, +nil+ = rotate automatically when needed.
|
90
|
+
# +tag+:: +String|nil+ The tag specified for the test, used onle when +debug_screenshot+ is set to true
|
90
91
|
#
|
91
92
|
# Returns: +ChunkPng::Image+ A screenshot object, normalized by scale and rotation.
|
92
|
-
def get_screenshot(rotation = nil)
|
93
|
+
def get_screenshot(rotation = nil, tag = nil)
|
94
|
+
@tag_for_screenshot_debug = tag
|
95
|
+
@visible_screenshot_call_count = 0
|
93
96
|
image = mobile_device? || !@eyes.force_fullpage_screenshot ? visible_screenshot : @browser.fullpage_screenshot
|
94
97
|
Applitools::Selenium::Driver.normalize_image(self, image, rotation)
|
95
98
|
image
|
@@ -99,7 +102,9 @@ module Applitools::Selenium
|
|
99
102
|
Applitools::EyesLogger.debug "Waiting before screenshot: #{wait_before_screenshots} seconds..."
|
100
103
|
sleep(wait_before_screenshots)
|
101
104
|
Applitools::EyesLogger.debug 'Finished waiting.'
|
102
|
-
|
105
|
+
screenshot = driver.screenshot_as(:png)
|
106
|
+
save_image(screenshot) if @eyes.debug_screenshot
|
107
|
+
Applitools::Utils::ImageUtils::Screenshot.new screenshot
|
103
108
|
end
|
104
109
|
|
105
110
|
def mouse
|
@@ -137,6 +142,12 @@ module Applitools::Selenium
|
|
137
142
|
|
138
143
|
private
|
139
144
|
|
145
|
+
def save_image(image)
|
146
|
+
tag = (@tag_for_screenshot_debug || 'screenshot').gsub(/\s+/, '_')
|
147
|
+
screenshot = ChunkyPNG::Image.from_string(image)
|
148
|
+
screenshot.save("#{tag}_#{Time.now.strftime('%Y_%m_%d_%H_%M')}__#{@visible_screenshot_call_count += 1}.png")
|
149
|
+
end
|
150
|
+
|
140
151
|
def bridge
|
141
152
|
__getobj__.send(:bridge)
|
142
153
|
end
|
@@ -103,7 +103,7 @@ module Applitools::Selenium
|
|
103
103
|
title = eyes.title
|
104
104
|
Applitools::EyesLogger.debug 'Getting screenshot...'
|
105
105
|
Applitools::EyesLogger.debug 'Done! Creating image object from PNG...'
|
106
|
-
@current_screenshot = driver.get_screenshot(rotation)
|
106
|
+
@current_screenshot = driver.get_screenshot(rotation, tag)
|
107
107
|
Applitools::EyesLogger.debug 'Done!'
|
108
108
|
# If a region was defined, we refer to the sub-image defined by the region.
|
109
109
|
unless region.empty?
|
@@ -4,6 +4,10 @@ if defined? Sauce::Selenium2
|
|
4
4
|
def driver_for_eyes(eyes)
|
5
5
|
browser.raw_driver eyes: eyes
|
6
6
|
end
|
7
|
+
|
8
|
+
def use_native_browser
|
9
|
+
browser.use_native_browser
|
10
|
+
end
|
7
11
|
end
|
8
12
|
end
|
9
13
|
|
@@ -14,6 +18,7 @@ if defined? Sauce::Selenium2
|
|
14
18
|
|
15
19
|
def raw_driver(options = {})
|
16
20
|
eyes = options.delete(:eyes)
|
21
|
+
@native_driver ||= @raw_driver
|
17
22
|
unless eyes.nil?
|
18
23
|
is_mobile_device = @raw_driver.capabilities['platformName'] ? true : false
|
19
24
|
@raw_driver = Applitools::Selenium::Driver.new eyes,
|
@@ -21,5 +26,9 @@ if defined? Sauce::Selenium2
|
|
21
26
|
end
|
22
27
|
@raw_driver
|
23
28
|
end
|
29
|
+
|
30
|
+
def use_native_browser
|
31
|
+
@raw_driver = @native_driver
|
32
|
+
end
|
24
33
|
end
|
25
34
|
end
|
@@ -23,8 +23,8 @@ module Applitools::Utils
|
|
23
23
|
#
|
24
24
|
# Returns:
|
25
25
|
# +ChunkyPNG::Canvas+ An image object.
|
26
|
-
def png_image_from_base64(
|
27
|
-
png_image_from_bytes(Base64.decode64(
|
26
|
+
def png_image_from_base64(png_bytes)
|
27
|
+
png_image_from_bytes(Base64.decode64(png_bytes))
|
28
28
|
end
|
29
29
|
|
30
30
|
# Get the raw PNG bytes of an image.
|
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: 2.
|
4
|
+
version: 2.38.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-09-
|
11
|
+
date: 2016-09-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: selenium-webdriver
|
@@ -178,6 +178,20 @@ dependencies:
|
|
178
178
|
- - ">="
|
179
179
|
- !ruby/object:Gem::Version
|
180
180
|
version: '0'
|
181
|
+
- !ruby/object:Gem::Dependency
|
182
|
+
name: rack
|
183
|
+
requirement: !ruby/object:Gem::Requirement
|
184
|
+
requirements:
|
185
|
+
- - "~>"
|
186
|
+
- !ruby/object:Gem::Version
|
187
|
+
version: 1.6.0
|
188
|
+
type: :development
|
189
|
+
prerelease: false
|
190
|
+
version_requirements: !ruby/object:Gem::Requirement
|
191
|
+
requirements:
|
192
|
+
- - "~>"
|
193
|
+
- !ruby/object:Gem::Version
|
194
|
+
version: 1.6.0
|
181
195
|
- !ruby/object:Gem::Dependency
|
182
196
|
name: rubocop
|
183
197
|
requirement: !ruby/object:Gem::Requirement
|
@@ -278,6 +292,12 @@ files:
|
|
278
292
|
- README.md
|
279
293
|
- Rakefile
|
280
294
|
- certs/cacert.pem
|
295
|
+
- examples/appium_example_script.rb
|
296
|
+
- examples/capybara_example.rb
|
297
|
+
- examples/sauce_capybara_example.rb
|
298
|
+
- examples/sauce_example.rb
|
299
|
+
- examples/simple_test_script.rb
|
300
|
+
- examples/watir_test_script.rb
|
281
301
|
- eyes_selenium.gemspec
|
282
302
|
- lib/applitools/appium_driver.rb
|
283
303
|
- lib/applitools/base/batch_info.rb
|
@@ -293,21 +313,21 @@ files:
|
|
293
313
|
- lib/applitools/base/test_results.rb
|
294
314
|
- lib/applitools/base/text_trigger.rb
|
295
315
|
- lib/applitools/capybara.rb
|
296
|
-
- lib/applitools/capybara/capybara_settings.rb
|
297
|
-
- lib/applitools/capybara/driver.rb
|
298
316
|
- lib/applitools/extensions.rb
|
299
317
|
- lib/applitools/eyes.rb
|
300
318
|
- lib/applitools/eyes_logger.rb
|
301
319
|
- lib/applitools/method_tracer.rb
|
302
320
|
- lib/applitools/sauce.rb
|
303
|
-
- lib/applitools/sauce/driver.rb
|
304
321
|
- lib/applitools/selenium/browser.rb
|
322
|
+
- lib/applitools/selenium/capybara/capybara_settings.rb
|
323
|
+
- lib/applitools/selenium/capybara/driver.rb
|
305
324
|
- lib/applitools/selenium/driver.rb
|
306
325
|
- lib/applitools/selenium/element.rb
|
307
326
|
- lib/applitools/selenium/keyboard.rb
|
308
327
|
- lib/applitools/selenium/match_window_data.rb
|
309
328
|
- lib/applitools/selenium/match_window_task.rb
|
310
329
|
- lib/applitools/selenium/mouse.rb
|
330
|
+
- lib/applitools/selenium/sauce/driver.rb
|
311
331
|
- lib/applitools/selenium/viewport_size.rb
|
312
332
|
- lib/applitools/selenium_webdriver.rb
|
313
333
|
- lib/applitools/utils/image_delta_compressor.rb
|
@@ -319,12 +339,6 @@ files:
|
|
319
339
|
- spec/driver_passthrough_spec.rb
|
320
340
|
- spec/fixtures/static_test_file.html
|
321
341
|
- spec/spec_helper.rb
|
322
|
-
- test/appium_example_script.rb
|
323
|
-
- test/capybara_example.rb
|
324
|
-
- test/sauce_capybara_example.rb
|
325
|
-
- test/sauce_example.rb
|
326
|
-
- test/test_script.rb
|
327
|
-
- test/watir_test_script.rb
|
328
342
|
homepage: https://www.applitools.com
|
329
343
|
licenses:
|
330
344
|
- Apache License, Version 2.0
|
@@ -345,7 +359,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
345
359
|
version: '0'
|
346
360
|
requirements: []
|
347
361
|
rubyforge_project:
|
348
|
-
rubygems_version: 2.
|
362
|
+
rubygems_version: 2.4.6
|
349
363
|
signing_key:
|
350
364
|
specification_version: 4
|
351
365
|
summary: Applitools Ruby SDK
|
@@ -353,9 +367,3 @@ test_files:
|
|
353
367
|
- spec/driver_passthrough_spec.rb
|
354
368
|
- spec/fixtures/static_test_file.html
|
355
369
|
- spec/spec_helper.rb
|
356
|
-
- test/appium_example_script.rb
|
357
|
-
- test/capybara_example.rb
|
358
|
-
- test/sauce_capybara_example.rb
|
359
|
-
- test/sauce_example.rb
|
360
|
-
- test/test_script.rb
|
361
|
-
- test/watir_test_script.rb
|
data/test/capybara_example.rb
DELETED
@@ -1,28 +0,0 @@
|
|
1
|
-
require 'rspec'
|
2
|
-
require 'capybara/rspec'
|
3
|
-
require 'eyes_selenium'
|
4
|
-
|
5
|
-
Applitools.register_capybara_driver :browser => :chrome
|
6
|
-
|
7
|
-
describe 'Capybara Example', :type => :feature, :js => true do
|
8
|
-
let(:eyes) do
|
9
|
-
Applitools::Eyes.new.tap do |eyes|
|
10
|
-
eyes.api_key = ENV['APPLITOOLS_API_KEY']
|
11
|
-
eyes.log_handler = Logger.new(STDOUT)
|
12
|
-
end
|
13
|
-
end
|
14
|
-
|
15
|
-
it 'Simple test' do
|
16
|
-
eyes.open(app_name: 'Ruby SDK', test_name: 'Capybara test', driver: page,
|
17
|
-
viewport_size: { width: 800, height: 600 })
|
18
|
-
visit 'http://github.com'
|
19
|
-
eyes.check_window('homepage')
|
20
|
-
fill_in('user[login]', with: 'user')
|
21
|
-
eyes.check_window('homepage with username')
|
22
|
-
eyes.close
|
23
|
-
end
|
24
|
-
|
25
|
-
after :each do
|
26
|
-
eyes.abort_if_not_closed
|
27
|
-
end
|
28
|
-
end
|