eyes_selenium_ruby 1.1.0 → 1.1.1

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.
@@ -18,7 +18,7 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- spec.add_dependency "selenium-webdriver", ["~> 2.0"]
21
+ spec.add_dependency "selenium-webdriver", [">= 2.37"]
22
22
  spec.add_dependency "httparty"
23
23
  spec.add_dependency "oily_png", [">= 1.1.0"]
24
24
 
@@ -8,6 +8,7 @@ class Applitools::Environment
8
8
  end
9
9
 
10
10
  def to_hash
11
- { os: os, hostingApp: hosting_app, displaySize: Hash[display_size.each_pair.to_a] }
11
+ # display_size is an Applitools::ViewportSize object
12
+ { os: os, hostingApp: hosting_app, displaySize: display_size.to_hash}
12
13
  end
13
14
  end
@@ -1,5 +1,6 @@
1
1
  class Applitools::Eyes
2
2
  DEFAULT_MATCH_TIMEOUT = 2.0
3
+ AGENT_ID = 'eyes.selenium.ruby'
3
4
 
4
5
  class << self
5
6
  attr_accessor :config
@@ -7,7 +8,7 @@ class Applitools::Eyes
7
8
 
8
9
  @config = {
9
10
  server_url: 'https://eyes.applitools.com',
10
- user: 'eyes.selenium.ruby'
11
+ user: AGENT_ID
11
12
  # apikey: 'please supply an apikey in your initializer'
12
13
  }
13
14
 
@@ -50,7 +51,7 @@ class Applitools::Eyes
50
51
  self.failure_reports = params.fetch(:failure_reports, self.failure_reports)
51
52
  self.match_level = params.fetch(:match_level,MatchLevel::EXACT)
52
53
  self.test_name = params.fetch(:test_name)
53
- self.viewport_size = params.fetch(:view_port_size, nil)
54
+ self.viewport_size = params.fetch(:viewport_size, nil)
54
55
 
55
56
  self.is_open = true
56
57
  driver
@@ -72,7 +73,7 @@ class Applitools::Eyes
72
73
  if !as_expected
73
74
  self.should_match_window_run_once_on_timeout = true
74
75
  if !session.new_session?
75
- EyesLogger.info %( "mismatch! #{ tag ? "" : "(#{tag})" } )
76
+ #EyesLogger.info %( "mismatch! #{ tag ? "" : "(#{tag})" } )
76
77
  if failure_reports.to_i == Applitools::FailureReports::IMMEDIATE
77
78
  raise Applitools::TestFailedError.new("Mismatch found in '#{start_info.scenario_id_or_name}'"\
78
79
  " of '#{start_info.app_id_or_name}'")
@@ -153,7 +154,7 @@ class Applitools::Eyes
153
154
  test_batch ||= Applitools::BatchInfo.new
154
155
  app_env = Applitools::Environment.new(host_os, host_app, viewport_size)
155
156
  application = driver.create_application
156
- self.session_start_info = Applitools::StartInfo.new(
157
+ self.session_start_info = Applitools::StartInfo.new(AGENT_ID,
157
158
  app_name, test_name, test_batch, app_env, application,
158
159
  match_level,nil, branch_name, parent_branch_name
159
160
  )
@@ -167,7 +168,8 @@ class Applitools::Eyes
167
168
 
168
169
  def assign_viewport_size
169
170
  if viewport_size?
170
- self.viewport_size = Applitools::ViewportSize.new(driver, viewport_size).set
171
+ self.viewport_size = Applitools::ViewportSize.new(driver, viewport_size)
172
+ self.viewport_size.set
171
173
  else
172
174
  self.viewport_size = Applitools::ViewportSize.new(driver).extract_viewport_from_browser!
173
175
  end
@@ -13,6 +13,6 @@ class Applitools::MatchWindowData
13
13
  # not be included as part of the json.
14
14
  def to_hash
15
15
  {userInputs: user_inputs.map(&:to_hash), appOutput: Hash[app_output.each_pair.to_a],
16
- tag: @tag, ignore_mismatch: @ignore_mismatch}
16
+ tag: @tag, ignoreMismatch: @ignore_mismatch}
17
17
  end
18
18
  end
@@ -61,11 +61,11 @@ class Applitools::MatchWindowTask
61
61
 
62
62
  def match(tag, ignore_mismatch=false)
63
63
  data = prep_match_data(tag, ignore_mismatch)
64
- agent_connector.match_window(session, data)
65
-
64
+ as_expected = agent_connector.match_window(session, data)
66
65
  # If the server stored this image, it will be used as a base for our next screenshot compression
67
66
  if !ignore_mismatch
68
67
  @last_checked_window = @current_screenshot
69
68
  end
69
+ return as_expected
70
70
  end
71
71
  end
@@ -1,6 +1,6 @@
1
1
  class Applitools::StartInfo
2
2
 
3
- ATTRIBUTES = %w[ app_id_or_name ver_id scenario_id_or_name batch_info
3
+ ATTRIBUTES = %w[ agent_id app_id_or_name ver_id scenario_id_or_name batch_info
4
4
  environment application match_level branch_name parent_branch_name ]
5
5
 
6
6
  ATTRIBUTES.each do |attr|
@@ -8,9 +8,10 @@ class Applitools::StartInfo
8
8
  end
9
9
 
10
10
  ## add a config file with this stuff, and use hash arg
11
- def initialize(app_id_or_name, scenario_id_or_name, batch_info, environment,
11
+ def initialize(agent_id, app_id_or_name, scenario_id_or_name, batch_info, environment,
12
12
  application, match_level, ver_id=nil, branch_name=nil,
13
13
  parent_branch_name=nil)
14
+ @agent_id = agent_id
14
15
  @app_id_or_name = app_id_or_name
15
16
  @ver_id = ver_id
16
17
  @scenario_id_or_name = scenario_id_or_name
@@ -24,7 +25,7 @@ class Applitools::StartInfo
24
25
 
25
26
  def to_hash
26
27
  {
27
- AppIdOrName: app_id_or_name, VerId: ver_id, ScenarioIdOrName: scenario_id_or_name,
28
+ AgentId: agent_id, AppIdOrName: app_id_or_name, VerId: ver_id, ScenarioIdOrName: scenario_id_or_name,
28
29
  BatchInfo: batch_info.to_hash, Environment: environment.to_hash,
29
30
  Application: application.to_hash, matchLevel: match_level, branchName: branch_name,
30
31
  parentBranchName: parent_branch_name
@@ -68,14 +68,15 @@ class Applitools::ViewportSize
68
68
  alias_method :viewport_size, :extract_viewport_from_browser
69
69
 
70
70
  def set
71
- if !dimension.respond_to?(:width) && !dimension.respond_to?(:height)
71
+ if dimension.is_a?(Hash) && dimension.has_key?(:width) && dimension.has_key?(:height)
72
+ # If dimension is hash of width/height, we convert it to a struct with width/height properties.
73
+ self.dimension = Struct.new(:width, :height).new(dimension[:width], dimension[:height])
74
+ elsif !dimension.respond_to?(:width) || !dimension.respond_to?(:height)
72
75
  raise ArgumentError, "expected #{dimension.inspect}:#{dimension.class}" +
73
- " to respond to #width and #height"
76
+ " to respond to #width and #height, or be a hash with these keys"
74
77
  end
75
-
76
78
  self.browser_size = dimension
77
79
  verify_size(:browser_size)
78
-
79
80
  cur_viewport_size = extract_viewport_from_browser
80
81
  self.browser_size = Dimension.new(
81
82
  (2 * browser_size.width) - cur_viewport_size.width,
@@ -1,3 +1,3 @@
1
1
  module Applitools
2
- VERSION = "1.1.0"
2
+ VERSION = "1.1.1"
3
3
  end
data/test_script.rb CHANGED
@@ -4,11 +4,10 @@
4
4
 
5
5
  require 'eyes_selenium_ruby'
6
6
 
7
- Applitools::Eyes.config[:apikey] = 'YOUR_API_KEY_HERE'
7
+ Applitools::Eyes.config[:apikey] = 'YOUR_API_KEY'
8
8
 
9
9
  eyes = Applitools::Eyes.new
10
-
11
- eyes.test(app_name: 'my app', test_name: 'my test') do |eyes, driver|
10
+ eyes.test(app_name: 'Ruby SDK', test_name: 'Applitools website test',viewport_size: {width: 1024, height: 768}) do |eyes, driver|
12
11
  driver.get "http://www.applitools.com"
13
12
  eyes.check_window("initial")
14
13
  driver.find_element(:css, "li.pricing a").click
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: eyes_selenium_ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.1.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -16,17 +16,17 @@ dependencies:
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
- - - ~>
19
+ - - ! '>='
20
20
  - !ruby/object:Gem::Version
21
- version: '2.0'
21
+ version: '2.37'
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  none: false
26
26
  requirements:
27
- - - ~>
27
+ - - ! '>='
28
28
  - !ruby/object:Gem::Version
29
- version: '2.0'
29
+ version: '2.37'
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: httparty
32
32
  requirement: !ruby/object:Gem::Requirement
@@ -201,7 +201,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
201
201
  version: '0'
202
202
  segments:
203
203
  - 0
204
- hash: -3642816426594908165
204
+ hash: -2653418946361615766
205
205
  required_rubygems_version: !ruby/object:Gem::Requirement
206
206
  none: false
207
207
  requirements:
@@ -210,7 +210,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
210
210
  version: '0'
211
211
  segments:
212
212
  - 0
213
- hash: -3642816426594908165
213
+ hash: -2653418946361615766
214
214
  requirements: []
215
215
  rubyforge_project:
216
216
  rubygems_version: 1.8.25