eyes_selenium 2.5.0 → 2.7.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4219715fa9dc4e8d577f379654dfb8de47f4b0c3
4
- data.tar.gz: be34d6a658b4c2da134940518a56355a4ddd2b2e
3
+ metadata.gz: f8ba2453778c9eb7863f0d5c086033065137972a
4
+ data.tar.gz: 98f3873d83dfefdf27f95c77898bf2cfb95028bf
5
5
  SHA512:
6
- metadata.gz: 6c64a2308075fa442cbe9bef45d88b2873b4ea27403cc9daab82c62afcc418b3368a3d379256c0a70aee5bc262f52176428bbe158484e6900b02757d48a400fd
7
- data.tar.gz: 7b2b468fe9957dba640ecc54e715f2a3c9f2e7a8f9af40ece6fefe07ae2ffea1bf286fb3677c434695529ca1ac2cbe2a6e48ed5fade55d4a9f1cebce4768e083
6
+ metadata.gz: 51556719e486c1da48c5a3c462eae36ab209c090f1eea2a62c17bd91fbf3c3203fd5e33cc7b3eb154873f6cd4268c0515f6fa9067315ef759a6b76c589201e32
7
+ data.tar.gz: c5ce2f9c41eb260b2881e6b7c65b44c5a8639b5e3aff45fe37787e053cc7d6ce9eb4d93c821a6a90f596b3f1ed04eb5710902186540b46ba7388bb5808b97d40
@@ -35,8 +35,10 @@ class Applitools::AgentConnector
35
35
  def start_session(session_start_info)
36
36
  self.class.headers 'Content-Type' => 'application/json'
37
37
  res = self.class.post(@endpoint_uri, query: {apiKey: api_key}, body: { startInfo: session_start_info.to_hash }.to_json)
38
+ EyesLogger.debug "Got response! #{res}"
38
39
  status_code = res.response.message
39
40
  parsed_res = res.parsed_response
41
+ EyesLogger.debug "Parsed response #{parsed_res}"
40
42
  Applitools::Session.new(parsed_res['id'], parsed_res['url'], status_code == 'Created' )
41
43
  end
42
44
 
@@ -1,24 +1,27 @@
1
1
  class Applitools::ViewportSize
2
2
 
3
- GET_VIEWPORT_HEIGHT_JAVASCRIPT_FOR_NORMAL_BROWSER = "return window.innerHeight"
4
- GET_VIEWPORT_WIDTH_JAVASCRIPT_FOR_NORMAL_BROWSER = "return window.innerWidth"
5
-
6
- DOCUMENT_CLEAR_SCROLL_BARS_JAVASCRIPT = "var doc = document.documentElement;" +
7
- "var previousOverflow = doc.style.overflow;"
8
- DOCUMENT_RESET_SCROLL_BARS_JAVASCRIPT = "doc.style.overflow = previousOverflow;"
9
- DOCUMENT_RETURN_JAVASCRIPT = "return __applitools_result;"
10
-
11
- GET_VIEWPORT_WIDTH_JAVASCRIPT_FOR_BAD_BROWSERS =
12
- DOCUMENT_CLEAR_SCROLL_BARS_JAVASCRIPT +
13
- "var __applitools_result = doc.clientWidth;" +
14
- DOCUMENT_RESET_SCROLL_BARS_JAVASCRIPT +
15
- DOCUMENT_RETURN_JAVASCRIPT
16
-
17
- GET_VIEWPORT_HEIGHT_JAVASCRIPT_FOR_BAD_BROWSERS =
18
- DOCUMENT_CLEAR_SCROLL_BARS_JAVASCRIPT +
19
- "var __applitools_result = doc.clientHeight;" +
20
- DOCUMENT_RESET_SCROLL_BARS_JAVASCRIPT +
21
- DOCUMENT_RETURN_JAVASCRIPT
3
+ JS_GET_VIEWPORT_HEIGHT =
4
+ 'var height = undefined;' +
5
+ ' if (window.innerHeight) {height = window.innerHeight;}' +
6
+ ' else if (document.documentElement ' +
7
+ '&& document.documentElement.clientHeight) ' +
8
+ '{height = document.documentElement.clientHeight;}' +
9
+ ' else { var b = document.getElementsByTagName("body")[0]; ' +
10
+ 'if (b.clientHeight) {height = b.clientHeight;}' +
11
+ '};' +
12
+ 'return height;'
13
+
14
+ JS_GET_VIEWPORT_WIDTH =
15
+ 'var width = undefined;' +
16
+ ' if (window.innerWidth) {width = window.innerWidth;}' +
17
+ ' else if (document.documentElement ' +
18
+ '&& document.documentElement.clientWidth) ' +
19
+ '{width = document.documentElement.clientWidth;}' +
20
+ ' else { var b = document.getElementsByTagName("body")[0]; ' +
21
+ 'if (b.clientWidth) {' +
22
+ 'width = b.clientWidth;}' +
23
+ '};' +
24
+ 'return width;'
22
25
 
23
26
  attr_reader :driver
24
27
  attr_accessor :dimension
@@ -28,23 +31,11 @@ class Applitools::ViewportSize
28
31
  end
29
32
 
30
33
  def extract_viewport_width
31
- begin
32
- return driver.execute_script(GET_VIEWPORT_WIDTH_JAVASCRIPT_FOR_NORMAL_BROWSER)
33
- rescue => e
34
- EyesLogger.info "getViewportSize(): Browser does not support innerWidth (#{e.message})"
35
- end
36
-
37
- driver.execute_script(GET_VIEWPORT_WIDTH_JAVASCRIPT_FOR_BAD_BROWSERS)
34
+ driver.execute_script(JS_GET_VIEWPORT_WIDTH)
38
35
  end
39
36
 
40
37
  def extract_viewport_height
41
- begin
42
- return driver.execute_script(GET_VIEWPORT_HEIGHT_JAVASCRIPT_FOR_NORMAL_BROWSER)
43
- rescue => e
44
- EyesLogger.info "getViewportSize(): Browser does not support innerHeight (#{e.message})"
45
- end
46
-
47
- driver.execute_script(GET_VIEWPORT_HEIGHT_JAVASCRIPT_FOR_BAD_BROWSERS)
38
+ driver.execute_script(JS_GET_VIEWPORT_HEIGHT)
48
39
  end
49
40
 
50
41
  def extract_viewport_from_browser!
@@ -52,12 +43,17 @@ class Applitools::ViewportSize
52
43
  end
53
44
 
54
45
  def extract_viewport_from_browser
55
- width = extract_viewport_width
56
- height = extract_viewport_height
57
- Applitools::Dimension.new(width,height)
58
- rescue => e
59
- EyesLogger.info "getViewportSize(): only window size is available (#{e.message})"
60
- width, height = *browser_size.values
46
+ width, height = nil, nil
47
+ begin
48
+ width = extract_viewport_width
49
+ height = extract_viewport_height
50
+ rescue => e
51
+ EyesLogger.info "getViewportSize(): failed to extract viewport size using Javascript: (#{e.message})"
52
+ end
53
+ if width.nil? || height.nil?
54
+ EyesLogger.info 'getViewportSize(): using window size as viewport size.'
55
+ width, height = *browser_size.values
56
+ end
61
57
  Applitools::Dimension.new(width,height)
62
58
  end
63
59
  alias_method :viewport_size, :extract_viewport_from_browser
@@ -1,3 +1,3 @@
1
1
  module Applitools
2
- VERSION = '2.5.0'
2
+ VERSION = '2.7.0'
3
3
  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.5.0
4
+ version: 2.7.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: 2014-12-02 00:00:00.000000000 Z
11
+ date: 2015-01-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: selenium-webdriver