scoutui 2.0.3.15.pre → 2.0.3.16.pre

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
  SHA1:
3
- metadata.gz: 3f5ec30b2035139e274aa3fbab055ff814788e76
4
- data.tar.gz: 68497e9af33ddcd16df11f26904c62043717837c
3
+ metadata.gz: 99c18cd1f8d5282053583a8b37de329c02a2d71f
4
+ data.tar.gz: d1c31fd719bcce0bc7fbfa65a39c07639110ba6e
5
5
  SHA512:
6
- metadata.gz: f4cef4d179bb04396a53d886b9bb5d221988619aa6aa5daf9b3a8c0ff83798803e9f481c24493f25ffa9dd871a4533b81d9d382db10cdda15128c625cffa452a
7
- data.tar.gz: 51f7f1089fd17eebccfa4cebc4b9747ed9b3e4eadb6aadde11a13a605c0cd6ce9397ec73c0f1efee228538c2a8e5a46ef36dd98b1fd0f974d99f718bbafe2b15
6
+ metadata.gz: e0f7d17193e59de07ce21044fde89efac1c91a5d4173de19af8d608b1b84af456366a1b5d521a856544376b321d24a7bce26118923c37755d8fdf42a2bb5afc6
7
+ data.tar.gz: 339f0aac7671b53d0b04ebf0b34e865ed8ec3e8dd071b3813a17502b87938e5e8129bfdc23718855fe45780f29ce652216873699b59159fe20fcff80b106a30c
@@ -22,14 +22,17 @@ setup()
22
22
 
23
23
  MODEL="../appmodel/main.nav.json,../appmodel/search_results.json"
24
24
 
25
- EYES="--eyes --app ${TITLE} --title ${TITLE}"
26
- EYES=
25
+ EYES="--eyes --app ${TITLE} --title ${TITLE} --match layout2"
26
+ # EYES=
27
27
 
28
28
  SAUCE="--sauce --sauce_name ${TITLE}"
29
- SAUCE=
29
+ SAUCE="--browser chrome"
30
30
 
31
31
  CMD="../commands/commands.yml"
32
32
  CMD="../commands/basic_search.yml"
33
+
34
+ CMD="../commands/home.commands.yml"
35
+
33
36
  }
34
37
 
35
38
 
@@ -37,11 +40,13 @@ setup()
37
40
 
38
41
  setup
39
42
 
43
+ mkdir -p /tmp/vt
40
44
 
41
45
  ruby $SCOUTUI_BIN \
42
46
  --config ${TESTCFG} \
43
47
  --user "expense.admin@scoutui.com" --password password1 \
44
48
  ${EYES} \
49
+ --diff /tmp/vt \
45
50
  --viewport ${VIEWPORT} \
46
51
  ${SAUCE} \
47
52
  ${CAPS} \
@@ -0,0 +1,23 @@
1
+ require 'eyes_selenium'
2
+
3
+ eyes = Applitools::Eyes.new
4
+ # This is your api key, make sure you use it in all your tests.
5
+ eyes.api_key = 'dHntgIngYlRjYuG5RmdjqOFk106XDCKJplGklCXzjsWjk110'
6
+
7
+ # Get a selenium web driver object.
8
+ my_webdriver = Selenium::WebDriver.for :firefox
9
+
10
+ begin
11
+ # Start visual testing using my_webdriver and setting the viewport to 1024x768.
12
+ eyes.test(app_name: 'Applitools', test_name: 'Test Web Page',
13
+ viewport_size: {width: 1024, height: 768}, driver: my_webdriver) do |driver|
14
+ driver.get 'http://www.applitools.com'
15
+ # Visual validation point #1
16
+ eyes.check_window('Main Page')
17
+ driver.find_element(:css, ".features>a").click
18
+ # Visual validation point #2
19
+ eyes.check_window('Features Page')
20
+ end
21
+ ensure
22
+ my_webdriver.quit
23
+ end
@@ -870,7 +870,7 @@ module Scoutui::Base
870
870
  processAssertions(my_driver, e)
871
871
 
872
872
  if !_region.nil?
873
- eyeScount.check_window(_name, _region)
873
+ eyeScout.check_window(_name, _region)
874
874
  else
875
875
  eyeScout.check_window(_name)
876
876
  end
@@ -1,6 +1,8 @@
1
1
  #require 'eyes_selenium'
2
2
  #require 'testmgr'
3
3
  require 'httparty'
4
+ #require 'uri'
5
+ #require 'cgi'
4
6
 
5
7
  module Scoutui::Eyes
6
8
 
@@ -36,10 +38,27 @@ module Scoutui::Eyes
36
38
  def get_session_id(url)
37
39
  Scoutui::Logger::LogMgr.instance.info __FILE__ + (__LINE__).to_s + " -- get_session_id(#{url}) =="
38
40
  _s=/sessions\/(?<session>\d+)/.match(url)[1]
41
+ end
42
+
43
+ def get_accountid(url)
44
+ Scoutui::Logger::LogMgr.instance.info __FILE__ + (__LINE__).to_s + " -- get_account_id(#{url}) =="
45
+
46
+ uri = URI(url)
47
+ queryString = CGI::parse(uri.query)
48
+
49
+ accountid = queryString['accountId'] || queryString['accountid']
39
50
 
51
+ Scoutui::Logger::LogMgr.instance.info __FILE__ + (__LINE__).to_s + " => accountId : #{accountid}"
52
+
53
+ # _s=/sessions\/(?<accountid>\d+)/.match(url)[1]
54
+
55
+ accountid.is_a?(Array) ? accountid[0] : accountid
40
56
  end
41
57
 
42
- def get_diff_urls(session_id, view_key)
58
+ def Legacyget_diff_urls(session_id, view_key)
59
+
60
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + "=== get_diffs_url(#{session_id} ==="
61
+
43
62
  info = "https://eyes.applitools.com/api/sessions/#{session_id}/?ApiKey=#{view_key}&format=json"
44
63
  diff_template = "https://eyes.applitools.com/api/sessions/#{session_id}/steps/%s/diff?ApiKey=#{view_key}"
45
64
  diff_urls = Hash.new
@@ -70,6 +89,45 @@ module Scoutui::Eyes
70
89
 
71
90
  end
72
91
 
92
+
93
+ def get_diff_urls(session_id, account_id, view_key)
94
+
95
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " == get_diffs_url(#{session_id} =="
96
+
97
+ info = "https://eyes.applitools.com/api/sessions/#{session_id}?ApiKey=#{view_key}&format=json"
98
+ #info = "https://eyes.applitools.com/api/sessions/#{session_id}?accountId=#{account_id}&format=json"
99
+ diff_template = "https://eyes.applitools.com/api/sessions/#{session_id}/steps/%s/diff?ApiKey=#{view_key}"
100
+ diff_template = "https://eyes.applitools.com/api/sessions/#{session_id}?accountId=#{account_id}&format=json"
101
+
102
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " diff_template => #{diff_template}"
103
+ diff_urls = Hash.new
104
+
105
+ Scoutui::Logger::LogMgr.instance.info __FILE__ + (__LINE__).to_s + " info => #{info}"
106
+ response = HTTParty.get(info)
107
+
108
+ Scoutui::Logger::LogMgr.instance.info __FILE__ + (__LINE__).to_s + " RESP => #{response.to_s}"
109
+
110
+ begin
111
+ data = JSON.parse(response.body)
112
+ index = 1
113
+ data['actualOutput'].each do |elem|
114
+ if !elem.nil? && (elem['isMatching'] == false)
115
+ #diff_urls[index] = diff_template % [index]
116
+ Scoutui::Logger::LogMgr.instance.info __FILE__ + (__LINE__).to_s + " #{index.to_s} :#{elem['tag'].to_s}"
117
+ #diff_urls[index] = diff_template % [index]
118
+ diff_urls[index] = { :tag => elem['tag'].to_s, :url => diff_template % [index] }
119
+ index+=1
120
+ end
121
+ end
122
+
123
+ diff_urls
124
+
125
+ rescue JSON::ParserError
126
+ ;
127
+ end
128
+
129
+ end
130
+
73
131
  def sanitize_filename(filename)
74
132
  # Split the name when finding a period which is preceded by some
75
133
  # character, and is followed by some character other than a period,
@@ -87,21 +145,49 @@ module Scoutui::Eyes
87
145
  end
88
146
 
89
147
  def download_images(diff_urls, destination)
148
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " download_images(#{diff_urls}, #{destination}"
149
+
90
150
  diff_urls.each do |index, elem|
91
151
  save_name = sanitize_filename(elem[:tag]) + ".step_#{index}_diff.png"
152
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " => download : #{save_name}"
153
+
92
154
  File.open("#{destination}/#{save_name}", 'wb') do |file|
93
155
  file.write HTTParty.get(elem[:url])
94
156
  end
95
157
  end
96
158
  end
97
159
 
160
+ def Legacy_saveDiffs(_eyes, results, outdir, view_key)
161
+ Scoutui::Logger::LogMgr.instance.info __FILE__ + (__LINE__).to_s + " saveDiffs(#{outdir.to_s})"
162
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " | eyesResults => #{results.to_s}"
163
+
164
+ Scoutui::Logger::LogMgr.instance.info __FILE__ + (__LINE__).to_s + " | steps : #{results.steps.to_s}"
165
+ session_id = get_session_id(results.url)
166
+ Scoutui::Logger::LogMgr.instance.info __FILE__ + (__LINE__).to_s + " session => #{session_id}"
167
+
168
+ diffs = Legacyget_diff_urls(session_id, view_key)
169
+
170
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " diffs => #{diffs}"
171
+ if diffs.is_a?(Array)
172
+ diffs.each do |d|
173
+ Scoutui::Logger::LogMgr.instance.info __FILE__ + (__LINE__).to_s + " #{d.to_s}"
174
+ end
175
+
176
+ download_images(diffs, outdir)
177
+ end
178
+
179
+ end
180
+
98
181
  def saveDiffs(_eyes, results, outdir, view_key)
99
182
  Scoutui::Logger::LogMgr.instance.info __FILE__ + (__LINE__).to_s + " saveDiffs(#{outdir.to_s})"
183
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " results => #{results.to_s}"
100
184
 
101
185
  Scoutui::Logger::LogMgr.instance.info __FILE__ + (__LINE__).to_s + " | steps : #{results.steps.to_s}"
102
186
  session_id = get_session_id(results.url)
103
187
  Scoutui::Logger::LogMgr.instance.info __FILE__ + (__LINE__).to_s + " session => #{session_id}"
104
188
 
189
+ account_id = get_accountid(results.url)
190
+
105
191
  diffs = get_diff_urls(session_id, view_key)
106
192
 
107
193
  diffs.each do |d|
@@ -121,6 +207,17 @@ module Scoutui::Eyes
121
207
  return if !Scoutui::Utils::TestUtils.instance.eyesEnabled?
122
208
  @testResults = eyes().close(false)
123
209
 
210
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " @eyes => #{eyes().to_s}"
211
+
212
+
213
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + "| app_name : #{eyes().app_name}"
214
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + "| match_level: #{eyes().match_level}"
215
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + "| viewport_size: #{eyes().viewport_size.to_s}"
216
+
217
+ eyes().viewport_size.to_hash.each_pair do |k, v|
218
+ Scoutui::Logger::LogMgr.instance.debug " o " + k.to_s + " : " + v.to_s
219
+ end
220
+
124
221
  Testmgr::TestReport.instance.getReq("EYES").testcase('Images').add(@testResults.steps.to_i > 0, "Verify at least 1 shot taken (#{@testResults.steps.to_s} shots)")
125
222
  Testmgr::TestReport.instance.getReq("EYES").testcase('Images').add(@testResults.missing.to_i==0, "Verify Eyes did not miss any screens (#{@testResults.missing.to_s} screens)")
126
223
 
@@ -129,7 +226,7 @@ module Scoutui::Eyes
129
226
  if ENV.has_key?('APPLITOOLS_VIEW_KEY') && !_diffdir.nil?
130
227
 
131
228
  if Dir.exists?(_diffdir)
132
- saveDiffs(eyes(), @testResults, _diffdir, ENV['APPLITOOLS_VIEW_KEY'])
229
+ Legacy_saveDiffs(eyes(), @testResults, _diffdir, ENV['APPLITOOLS_VIEW_KEY'])
133
230
  else
134
231
  Scoutui::Logger::LogMgr.instance.warn " Specified Visual Diff folder does not exist - #{_diffdir.to_s}. Unable to download diffs"
135
232
  end
@@ -1,3 +1,3 @@
1
1
  module Scoutui
2
- VERSION = "2.0.3.15.pre"
2
+ VERSION = "2.0.3.16.pre"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: scoutui
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.3.15.pre
4
+ version: 2.0.3.16.pre
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter Kim
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2016-06-18 00:00:00.000000000 Z
12
+ date: 2016-06-28 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -219,6 +219,7 @@ files:
219
219
  - examples/ex2/tests/test-example2.sh
220
220
  - examples/ex2/tests/test-example3.sauce.sh
221
221
  - examples/ex2/tests/test-example3.sh
222
+ - examples/eyes/ex2.rb
222
223
  - examples/eyes_results/response.json
223
224
  - lib/scoutui.rb
224
225
  - lib/scoutui/appmodel/q_model.rb