eyes_selenium 3.16.12 → 3.16.13

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ba3eadfe2c452a73b20e1799f85ea0aeeba69763613c2b3cda8dbecf9d79f572
4
- data.tar.gz: f34fbe1de164517186249039ae6852fc1d03dc14d75a6d65bdf1eb0614b97ec0
3
+ metadata.gz: bf34f32517a64146b3254405709c8c07af4992496429fe55d67fc48d77aaf547
4
+ data.tar.gz: '083bd5f9fbdded908ed6a8eebb3eef403bb01abeb93cb5fcdabeae9a8696c294'
5
5
  SHA512:
6
- metadata.gz: 186e03f4d409c73ec8e2e9b3c3c6488293f816f3fe65b0d8ae6db992cc85680b0e4a4141d173cd9389041a3be16c16915590eef5e59ebf78af95dc075574f9b7
7
- data.tar.gz: 4b0041a83f5703bc297fdeaee40c4393b5545d58baf08b235bec102a9dc48de497acfa2a125fd8eff7d0f8b5e21a92e9799768db9e0334b757283008430bcdb5
6
+ metadata.gz: 960f6da1af7347ce928d5d474e767fb75d2c3462fac995f046804cf2548c4bce9d143e65623ae824de511a31957c4dbf475ed216ed4805163761f358be1659f3
7
+ data.tar.gz: a189c58ec060ce51ea151d6d1b9c466fb28a37206ec39109ae8cae7570cc7bd89dee319d9f4b8b3d3835f00adb4821df5775f1eff6401264282084aa3841d668
@@ -11,7 +11,7 @@ module Applitools
11
11
  force_full_page_screenshot: false,
12
12
  wait_before_screenshots: 0.1,
13
13
  stitch_mode: Applitools::Selenium::StitchModes::CSS,
14
- hide_scrollbars: false,
14
+ hide_scrollbars: true,
15
15
  hide_caret: false,
16
16
  browsers_info: Applitools::Selenium::BrowsersInfo.new,
17
17
  accessibility_validation: Applitools::AccessibilityLevel::NONE,
@@ -49,7 +49,7 @@ module Applitools
49
49
  end
50
50
 
51
51
  def fetch_urls(nodes)
52
- nodes.map { |n| url(n) }.flatten.compact #rescue []
52
+ nodes.map { |n| url(n) }.flatten.compact
53
53
  end
54
54
 
55
55
  def import_rules
@@ -117,7 +117,6 @@ module Applitools::Selenium
117
117
  self.region_to_check = nil
118
118
  self.force_full_page_screenshot = false
119
119
  self.dont_get_title = false
120
- self.hide_scrollbars = false
121
120
  self.device_pixel_ratio = UNKNOWN_DEVICE_PIXEL_RATIO
122
121
  self.stitch_mode = Applitools::STITCH_MODE[:scroll]
123
122
  self.wait_before_screenshots = DEFAULT_WAIT_BEFORE_SCREENSHOTS
@@ -246,7 +245,6 @@ module Applitools::Selenium
246
245
  original_position_provider = position_provider
247
246
  original_force_full_page_screenshot = force_full_page_screenshot
248
247
 
249
- eyes_element = nil
250
248
  timeout = target_to_check.options[:timeout] || USE_DEFAULT_MATCH_TIMEOUT
251
249
 
252
250
  self.eyes_screenshot_factory = lambda do |image|
@@ -256,14 +254,9 @@ module Applitools::Selenium
256
254
  )
257
255
  end
258
256
 
259
- # self.prevent_dom_processing = !((!target.options[:send_dom].nil? && target.options[:send_dom]) ||
260
- # send_dom || stitch_mode == Applitools::STITCH_MODE[:css])
261
- #
262
- # require 'pry'
263
- # binding.pry
264
-
265
257
  self.prevent_dom_processing = send_dom?(target_to_check) ? false : true
266
258
 
259
+ # rubocop:disable BlockLength
267
260
  check_in_frame target_frames: target_to_check.frames do
268
261
  begin
269
262
  match_data = Applitools::MatchWindowData.new(default_match_settings)
@@ -307,6 +300,24 @@ module Applitools::Selenium
307
300
  driver,
308
301
  eyes_element
309
302
  )
303
+ ensure_block = -> { eyes_element.overflow = original_overflow if original_overflow }
304
+ end
305
+ else
306
+ if hide_scrollbars
307
+ begin
308
+ original_overflow = Applitools::Utils::EyesSeleniumUtils.hide_scrollbars driver
309
+ driver.find_element(:css, 'html').overflow_data_attribute = original_overflow
310
+ rescue Applitools::EyesDriverOperationException => e
311
+ logger.warn "Failed to hide scrollbars! Error: #{e.message}"
312
+ ensure
313
+ ensure_block = lambda do
314
+ begin
315
+ Applitools::Utils::EyesSeleniumUtils.set_overflow driver, original_overflow if original_overflow
316
+ rescue Applitools::EyesDriverOperationException => e
317
+ logger.warn "Failed to revert overflow! Error: #{e.message}"
318
+ end
319
+ end
320
+ end
310
321
  end
311
322
  end
312
323
 
@@ -314,7 +325,7 @@ module Applitools::Selenium
314
325
  region_provider, timeout, match_data
315
326
  )
316
327
  ensure
317
- eyes_element.overflow = original_overflow unless original_overflow.nil?
328
+ ensure_block.call if ensure_block
318
329
  self.check_frame_or_element = false
319
330
  self.force_full_page_screenshot = original_force_full_page_screenshot
320
331
  self.position_provider = original_position_provider
@@ -417,33 +428,16 @@ module Applitools::Selenium
417
428
 
418
429
  update_scaling_params
419
430
 
420
- if hide_scrollbars
421
- begin
422
- original_overflow = Applitools::Utils::EyesSeleniumUtils.hide_scrollbars driver
423
- driver.find_element(:css, 'html').overflow_data_attribute = original_overflow
424
- rescue Applitools::EyesDriverOperationException => e
425
- logger.warn "Failed to hide scrollbars! Error: #{e.message}"
426
- end
427
- end
428
-
429
- begin
430
- algo = Applitools::Selenium::FullPageCaptureAlgorithm.new(
431
- debug_screenshot_provider: debug_screenshot_provider
432
- )
433
- case screenshot_type
434
- when ENTIRE_ELEMENT_SCREENSHOT
435
- self.screenshot = entire_element_screenshot(algo)
436
- when FULLPAGE_SCREENSHOT
437
- self.screenshot = full_page_screenshot(algo)
438
- when VIEWPORT_SCREENSHOT
439
- self.screenshot = viewport_screenshot
440
- end
441
- ensure
442
- begin
443
- Applitools::Utils::EyesSeleniumUtils.set_overflow driver, original_overflow
444
- rescue Applitools::EyesDriverOperationException => e
445
- logger.warn "Failed to revert overflow! Error: #{e.message}"
446
- end
431
+ algo = Applitools::Selenium::FullPageCaptureAlgorithm.new(
432
+ debug_screenshot_provider: debug_screenshot_provider
433
+ )
434
+ case screenshot_type
435
+ when ENTIRE_ELEMENT_SCREENSHOT
436
+ self.screenshot = entire_element_screenshot(algo)
437
+ when FULLPAGE_SCREENSHOT
438
+ self.screenshot = full_page_screenshot(algo)
439
+ when VIEWPORT_SCREENSHOT
440
+ self.screenshot = viewport_screenshot
447
441
  end
448
442
  end
449
443
 
@@ -465,7 +459,6 @@ module Applitools::Selenium
465
459
  stitching_overlap: stitching_overlap
466
460
  )
467
461
 
468
- # binding.pry
469
462
  unless original_frame.empty?
470
463
  logger.info 'Switching back to original frame...'
471
464
  driver.switch_to.frames frame_chain: original_frame
@@ -29,7 +29,6 @@ module Applitools
29
29
  def initialize
30
30
  self.frames = []
31
31
  self.options = {
32
- ignore_caret: true,
33
32
  ignore_mismatch: false,
34
33
  script_hooks: { beforeCaptureScreenshot: '' }
35
34
  }
@@ -57,6 +57,7 @@ module Applitools
57
57
  .xpath("//@*[namespace-uri(.) = 'http://www.w3.org/1999/xlink'] | //@href")
58
58
  .select { |a| a.name == 'href' }
59
59
  .map(&:value)
60
+ .select { |a| /^(?!#).*/.match(a) }
60
61
  handle_discovered_resources_block.call(attrs, url)
61
62
  end
62
63
 
@@ -29,6 +29,9 @@ module Applitools
29
29
  def initialize(visual_grid_manager, server_url = nil)
30
30
  ensure_config
31
31
  @server_connector = Applitools::Connectivity::ServerConnector.new(server_url)
32
+ @server_connector.obtain_agent_id do
33
+ full_agent_id
34
+ end
32
35
  self.server_url = server_url if server_url
33
36
  self.visual_grid_manager = visual_grid_manager
34
37
  self.test_list = Applitools::Selenium::TestList.new
@@ -41,6 +44,10 @@ module Applitools
41
44
  self.config = Applitools::Selenium::Configuration.new
42
45
  end
43
46
 
47
+ def full_agent_id
48
+ "eyes.selenium.visualgrid.ruby/#{Applitools::VERSION}"
49
+ end
50
+
44
51
  def configure
45
52
  return unless block_given?
46
53
  yield(config)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: false
2
2
 
3
3
  module Applitools
4
- VERSION = '3.16.12'.freeze
4
+ VERSION = '3.16.13'.freeze
5
5
  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.16.12
4
+ version: 3.16.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - Applitools Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-03-30 00:00:00.000000000 Z
11
+ date: 2020-04-06 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.16.12
19
+ version: 3.16.13
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.16.12
26
+ version: 3.16.13
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: selenium-webdriver
29
29
  requirement: !ruby/object:Gem::Requirement