eyes_selenium_ruby 1.1.0 → 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -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