scoutui 2.0.5.4 → 2.0.5.5

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.
@@ -44,8 +44,11 @@ module Scoutui::Commands
44
44
  Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " Perf navigate to #{normUrl} : #{_duration}"
45
45
  Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " => title #{@drv.title.to_s}"
46
46
  _rc=true
47
+ rescue Selenium::WebDriver::Error::UnhandledAlertError => ex
48
+ Scoutui::Logger::LogMgr.instance.info __FILE__ + (__LINE__).to_s + " Alert : #{ex.message}"
49
+ _rc=true
47
50
  rescue => ex
48
- Scoutui::Logger::LogMgr.instance.warn __FILE__ + (__LINE__).to_s + " Error during processing: #{ex.message}"
51
+ Scoutui::Logger::LogMgr.instance.warn __FILE__ + (__LINE__).to_s + " Error during processing: #{ex.class} - #{ex.message}"
49
52
  Scoutui::Logger::LogMgr.instance.warn "Backtrace:\n\t#{ex.backtrace.join("\n\t")}"
50
53
  end
51
54
 
@@ -40,7 +40,7 @@ module Scoutui::Commands
40
40
  _c = Scoutui::Commands::Type.new(_typeCmd, @drv)
41
41
  _c.run(driver: @drv)
42
42
 
43
- # puts __FILE__ + (__LINE__).to_s + " Uploaded - pause"; STDIN.gets;
43
+ # Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " Uploaded - pause"; STDIN.gets;
44
44
 
45
45
  _typeCmd={ 'page' => {'action' => "click(#{submit})"} }
46
46
  _c = Scoutui::Commands::ClickObject.new(_typeCmd)
@@ -52,7 +52,7 @@ module Scoutui::Commands
52
52
  _typeCmd={ 'page' => {'action' => "click(#{close})"} }
53
53
  _c = Scoutui::Commands::ClickObject.new(_typeCmd)
54
54
  _c.run(driver: @drv, dut: nil)
55
- puts "++ CLOSED DLG **"; # STDIN.gets
55
+ Scoutui::Logger::LogMgr.instance.debug "++ CLOSED DLG **"; # STDIN.gets
56
56
  end
57
57
 
58
58
 
@@ -61,6 +61,21 @@ module Scoutui::Commands
61
61
  '__DATE__' => lambda { Time.now().to_s },
62
62
  '__EMAIL__' => lambda { Faker::Internet.email.to_s},
63
63
  '__DDMMYY__' => lambda { Date.parse(Time.now.to_s).strftime("%d%m%Y") },
64
+ '__DD/MM/YYYY__' => lambda { Date.parse(Time.now.to_s).strftime("%d/%m/%Y") },
65
+ '__DD/MM/YYYY\+\d+__' => lambda { |s|
66
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " Process s => #{s}"
67
+ d=s.match(/__DD\/MM\/YYYY\+(\d+)__/)[1]
68
+ d=(Date.today + d.to_i).strftime("%d/%m/%Y")
69
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " new date: #{d}"
70
+ d
71
+ },
72
+ '__DD/MM/YYYY\-\d+__' => lambda { |s|
73
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " Process s => #{s}"
74
+ d=s.match(/__DD\/MM\/YYYY\-(\d+)__/)[1]
75
+ d=(Date.today - d.to_i).strftime("%d/%m/%Y")
76
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " new date: #{d}"
77
+ d
78
+ },
64
79
  '__MM/DD/YY__' => lambda { Date.parse(Time.now.to_s).strftime("%m/%d/%y") },
65
80
  '__MM/DD/YY\+\d+__' => lambda { |s|
66
81
  Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " Process s => #{s}"
@@ -85,6 +100,13 @@ module Scoutui::Commands
85
100
  Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " new date: #{d}"
86
101
  d
87
102
  },
103
+ '__MM/DD/YYYY\-\d+__' => lambda { |s|
104
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " Process s => #{s}"
105
+ d=s.match(/__MM\/DD\/YYYY\-(\d+)__/)[1]
106
+ d=(Date.today - d.to_i).strftime("%m/%d/%Y")
107
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " new date: #{d}"
108
+ d
109
+ },
88
110
  '__MMDDYYYY__' => lambda { Date.parse(Time.now.to_s).strftime("%m%d%Y") },
89
111
  '__MMDDYYYY\+\d+__' => lambda { |s|
90
112
  Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " Process s => #{s}"
@@ -251,7 +273,7 @@ module Scoutui::Commands
251
273
  end
252
274
 
253
275
  def isExistsAlert?(_action)
254
- _action.is_a?(String) && !_action.match(/(exist[s]*_*alert|existAlert|existsAlert|existsJsAlert|existsJsConfirm|existsJsPrompt)\(/i).nil?
276
+ _action.is_a?(String) && !_action.match(/[!]*(exist[s]*_*alert|existAlert|existsAlert|existsJsAlert|existsJsConfirm|existsJsPrompt)\(/i).nil?
255
277
  end
256
278
 
257
279
  def isFrame?(_action)
@@ -263,7 +285,7 @@ module Scoutui::Commands
263
285
  end
264
286
 
265
287
  def isVerifyElt?(_action)
266
- _action.is_a?(String) && !_action.match(/(verifyelt|verifyelement)\(/i).nil?
288
+ _action.is_a?(String) && !_action.match(/(verify[eE]lt|verify[eE]lement)\(/i).nil?
267
289
  end
268
290
 
269
291
  def isClick?(_action)
@@ -96,13 +96,13 @@ module Scoutui::Commands
96
96
 
97
97
  Scoutui::Logger::LogMgr.instance.info __FILE__ + (__LINE__).to_s + " abort processing."
98
98
  Scoutui::Logger::LogMgr.instance.debug "Error during processing: #{ex}"
99
- puts __FILE__ + (__LINE__).to_s + "\nBacktrace:\n\t#{ex.backtrace.join("\n\t")}"
99
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + "\nBacktrace:\n\t#{ex.backtrace.join("\n\t")}"
100
100
  end
101
101
 
102
102
  end
103
103
 
104
104
  def execute(_drv, e=nil)
105
- _execute(drv)
105
+ _execute(_drv)
106
106
  end
107
107
 
108
108
  def _execute(drv)
@@ -110,34 +110,85 @@ module Scoutui::Commands
110
110
  _e=getLocator()
111
111
 
112
112
  if _e.nil?
113
- _e = @cmd.match(/(verifyelt|verifyelement)\s*\((.*)\)/)[2].to_s.strip
113
+ _e = @cmd.match(/(verify[eE]lt|verify[eE]lement)\s*\((.*)\)/)[2].to_s.strip
114
114
  end
115
115
 
116
- Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " verifyElement => #{_e}" if Scoutui::Utils::TestUtils.instance.isDebug?
116
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " verifyElement => #{_e}"
117
117
 
118
118
  _xpath = Scoutui::Base::UserVars.instance.get(_e)
119
119
 
120
- Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " | translate : #{_xpath}" if Scoutui::Utils::TestUtils.instance.isDebug?
120
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " | translate : #{_xpath}"
121
121
 
122
122
 
123
123
  page_elt = Scoutui::Utils::TestUtils.instance.getPageElement(_xpath)
124
124
 
125
- Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " Process page request #{page_elt} => #{page_elt.class.to_s}" if Scoutui::Utils::TestUtils.instance.isDebug?
125
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " Process page request #{page_elt} => #{page_elt.class.to_s}"
126
126
 
127
127
  xpath=nil
128
128
 
129
129
  if page_elt.is_a?(Hash) && page_elt.has_key?('locator')
130
130
 
131
131
  locator = Scoutui::Base::UserVars.instance.get(page_elt['locator'].to_s)
132
+ obj=Scoutui::Base::QBrowser.getElement(@drv, locator, Scoutui::Commands::Utils.instance.getFrameSearch(), Scoutui::Commands::Utils.instance.getTimeout)
132
133
 
134
+ if !obj.nil? && obj.is_a?(Selenium::WebDriver::Element) && obj.tag_name.downcase.match(/(select)/)
135
+ opt = Selenium::WebDriver::Support::Select.new(obj)
133
136
 
134
- if page_elt.has_key?('visible_when') && page_elt['visible_when'].match(/title\(/)
137
+ # opts = _opt.selected_options
138
+
139
+ if !opt.nil?
140
+ opts = opt.options
141
+
142
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " opts => #{opts}"
143
+
144
+ optionList=[]
145
+ textList=[]
146
+ opts.each do |item|
147
+ textList << item.attribute('text') if !item.attribute('text').nil?
148
+ optionList << item.attribute('value') if !item.attribute('value').nil?
149
+ end
150
+
151
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " optsText : #{textList}"
152
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " optsValues : #{optionList}"
153
+
154
+
155
+ if page_elt.has_key?('options')
156
+ diffSet = page_elt['options'] - textList
157
+
158
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " diffSet => #{diffSet} : #{diffSet.empty?}"
159
+
160
+ Testmgr::TestReport.instance.getReq('UI').tc('visible_when').add(diffSet.empty?, "Verify expected options exists for #{_e} (unmatched: #{diffSet})")
161
+
162
+
163
+ Scoutui::Logger::LogMgr.instance.asserts.info "Verify expected options exists for #{_e} (unmatched: #{diffSet}) - #{diffSet.empty?}"
164
+
165
+
166
+ setResult(diffSet.empty?)
167
+ end
168
+
169
+ end
170
+ end
171
+
172
+
173
+
174
+ if page_elt.has_key?('visible_when') && page_elt['visible_when'].is_a?(Array)
175
+
176
+ _expectedResults=Scoutui::Base::VisualTestFramework::processAsserts(@drv, page_elt['visible_when'])
177
+
178
+
179
+ Testmgr::TestReport.instance.getReq('UI').tc('visible_when').add(!obj.nil? && obj.displayed?, "Verify #{locator} is visible")
180
+
181
+
182
+ _expectedResults = _expectedResults && !obj.nil? && obj.displayed?
183
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " expectedResult : #{_expectedResults}"
184
+ return _expectedResults
185
+
186
+ elsif page_elt.has_key?('visible_when') && page_elt['visible_when'].match(/title\(/)
135
187
  current_title = @drv.title
136
188
  expected_title = Regexp.new(page_elt['visible_when'].match(/title\((.*)\)/)[1].to_s)
137
189
  rc=!expected_title.match(current_title).nil?
138
190
 
139
191
 
140
-
141
192
  Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " Verify expected title (#{current_title}) matches (#{expected_title}) => " + rc.to_s
142
193
 
143
194
  # Testmgr::TestReport.instance.getReq('UI').tc('visible_when').add(expected_title==current_title, "Verify title matches #{expected_title}")
@@ -205,9 +256,9 @@ module Scoutui::Commands
205
256
 
206
257
  page_elt.each do |elt|
207
258
 
208
- puts __FILE__ + (__LINE__).to_s + " ELT => #{elt} : #{elt.to_s}"
209
- puts __FILE__ + (__LINE__).to_s + " ELT[0] : #{elt[0]}"
210
- puts __FILE__ + (__LINE__).to_s + " ELT[1] : #{elt[1]}"
259
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " ELT => #{elt} : #{elt.to_s}"
260
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " ELT[0] : #{elt[0]}"
261
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " ELT[1] : #{elt[1]}"
211
262
 
212
263
  if elt.is_a?(Array)
213
264
  _h={ elt[0] => elt[1] }
@@ -219,8 +219,9 @@ module Scoutui::Eyes
219
219
  Scoutui::Logger::LogMgr.instance.info "SCOUTUI VERSION : " + Scoutui::VERSION
220
220
 
221
221
  if Scoutui::Utils::TestUtils.instance.eyesEnabled?
222
- Scoutui::Logger::LogMgr.instance.debug " testResults.methods = #{@testResults.methods.sort.to_s}"
222
+ # Scoutui::Logger::LogMgr.instance.debug " testResults.methods = #{@testResults.methods.sort.to_s}"
223
223
  Scoutui::Logger::LogMgr.instance.info " Eyes.TestResults.isNew : #{@testResults.is_new.to_s}"
224
+ Scoutui::Logger::LogMgr.instance.info " Eyes.TestResults.Missing : #{@testResults.missing.to_s}"
224
225
  Scoutui::Logger::LogMgr.instance.info " Eyes.TestResults.Matches : #{@testResults.matches.to_s}"
225
226
  Scoutui::Logger::LogMgr.instance.info " Eyes.TestResults.Mismatches : #{@testResults.mismatches.to_s}"
226
227
  Scoutui::Logger::LogMgr.instance.info " Eyes.TestResults.Passed : #{@testResults.passed?.to_s}"
@@ -233,6 +234,14 @@ module Scoutui::Eyes
233
234
 
234
235
  Testmgr::TestReport.instance.report()
235
236
 
237
+ if Scoutui::Utils::TestUtils.instance.abort?
238
+ Scoutui::Logger::LogMgr.instance.warn __FILE__ + (__LINE__).to_s + " Aborted:"
239
+
240
+ Scoutui::Utils::TestUtils.instance.abortMessage.each do |msg|
241
+ Scoutui::Logger::LogMgr.instance.fatal msg
242
+ end
243
+ end
244
+
236
245
  Testmgr::TestReport.instance.junitReport(Scoutui::Utils::TestUtils.instance.getReporter())
237
246
 
238
247
  # Testmgr::TestReport.instance.generateReport()
@@ -295,7 +304,7 @@ module Scoutui::Eyes
295
304
 
296
305
  @eyes=Scoutui::Eyes::EyeFactory.instance.createEyes()
297
306
 
298
- Scoutui::Logger::LogMgr.instance.info __FILE__ + (__LINE__).to_s + " eyes => #{eyes}" if Scoutui::Utils::TestUtils.instance.isDebug?
307
+ Scoutui::Logger::LogMgr.instance.info __FILE__ + (__LINE__).to_s + " eyes => #{eyes}"
299
308
 
300
309
  ## TBD - move the following into eye_scout ??
301
310
  if Scoutui::Utils::TestUtils.instance.eyesEnabled?
@@ -308,7 +317,6 @@ module Scoutui::Eyes
308
317
  end
309
318
 
310
319
  rescue => ex
311
- # Scoutui::Logger::LogMgr.instance.warn ex.backtrace
312
320
  Scoutui::Logger::LogMgr.instance.warn __FILE__ + (__LINE__).to_s + "Backtrace:\n\t#{ex.backtrace.join("\n\t")}"
313
321
  end
314
322
 
@@ -115,9 +115,9 @@ module Scoutui::Eyes
115
115
 
116
116
  index = 1
117
117
  data['actualAppOutput'].each do |elem|
118
- puts __FILE__ + (__LINE__).to_s + " elem => #{elem}"
118
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " elem => #{elem}"
119
119
  if (!elem.nil?)
120
- puts __FILE__ + (__LINE__).to_s + " | o isMatching : #{elem['isMatching']}"
120
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " | o isMatching : #{elem['isMatching']}"
121
121
  # diff_urls[index] = diff_template % [index]
122
122
  diff_urls[index] = { :tag => elem['tag'].to_s, :isMatching => elem['isMatching'], :url => diff_template % [index], :index => index }
123
123
  end
@@ -23,6 +23,7 @@ module Scoutui::Utils
23
23
  def initialize
24
24
 
25
25
  @currentMessage=""
26
+ @failedFastMessage=[]
26
27
  @coverage={:pages => []}
27
28
  @final_rc=false
28
29
  @metrics=nil
@@ -42,6 +43,7 @@ module Scoutui::Utils
42
43
  @options[:include_expected_as_asserts]=false
43
44
  @options[:role]=nil
44
45
  @options[:sauce_name]='unnamed'
46
+ @options[:sauce_tunnelid]=nil
45
47
  @options[:enable_eyes]=false
46
48
  @options[:enable_fullscreen]=true
47
49
  @options[:enable_sauce]=false
@@ -69,6 +71,16 @@ module Scoutui::Utils
69
71
  def setState(s, _d=nil)
70
72
  @execution_status=s
71
73
  @currentMessage=_d if !_d.nil?
74
+
75
+ if @execution_status==:abort && !_d.nil?
76
+ @failedFastMessage << _d.to_s
77
+ Scoutui::Logger::LogMgr.instance.fatal "[ABORT]: #{_d}"
78
+ end
79
+
80
+ end
81
+
82
+ def abortMessage
83
+ @failedFastMessage
72
84
  end
73
85
 
74
86
  def currentMessage
@@ -176,19 +188,25 @@ module Scoutui::Utils
176
188
  end
177
189
 
178
190
 
179
- def parseCommandLine()
191
+ def parseCommandLine(args=nil)
180
192
 
181
- OptionParser.new do |opt|
193
+ opt_parser = OptionParser.new do |opt|
182
194
  opt.on('-c', '--config TESTFILE') { |o|
183
195
  if !o.nil?
184
196
  @options[:json_config_file]=o
185
197
 
186
- jFile = File.read(@options[:json_config_file])
187
- @options[:test_config]=jsonData=JSON.parse(jFile)
198
+ if File.exist?(@options[:json_config_file])
199
+ jFile = File.read(@options[:json_config_file])
200
+ @options[:test_config]=jsonData=JSON.parse(jFile)
201
+ else
202
+ Scoutui::Utils::TestUtils.instance.setState(:abort, "Unable to access test config file: #{@options[:json_config_file]}")
203
+ raise "SCOUTUI::MissingFile::TestConfig : #{@options[:json_config_file]}"
204
+ end
205
+
188
206
  end
189
207
  }
190
208
  opt.on('--accounts [Account]') { |o| @options[:accounts] = o }
191
- opt.on('-b', '--browser [TYPE]', [:chrome, :firefox, :ie, :safari, :phantomjs], "Select browser (chrome, ie, firefox, safari)") { |o| @options[:browser] = o }
209
+ opt.on('-b', '--browser [TYPE]', [:chrome, :firefox, :edge, :ie, :safari, :phantomjs], "Select browser (chrome, ie, firefox, safari)") { |o| @options[:browser] = o }
192
210
  opt.on('--capabilities CAP') { |o|
193
211
  @options[:capabilities]=o
194
212
 
@@ -316,8 +334,9 @@ module Scoutui::Utils
316
334
  opt.on('--sauce:browser Browser') { |o| @options[:sauce_browser] = o }
317
335
  opt.on('--sauce:browsername BrowserName') { |o| @options[:sauce_browsername] = o }
318
336
  opt.on('--sauce:platform Platform') { |o| @options[:sauce_platform] = o }
337
+ opt.on('--sauce:tunnelid TunnelID') { |o| @options[:sauce_tunnelid] = o }
319
338
  opt.on('--sauce:resolution Resolution') { |o| @options[:sauce_resolution] = o }
320
- opt.on('--sauce:version Version') { |o| @options[:sauce_version] = o }
339
+ opt.on('--sauce:version Version') { |o| @options[:sauce_version] = o; Scoutui::Base::UserVars.instance.setVar('browser_version', o) }
321
340
 
322
341
  opt.on('--seleniumserver URL') { |o| @options[:selenium_server] = o }
323
342
 
@@ -325,7 +344,15 @@ module Scoutui::Utils
325
344
  @options[:viewport] = o
326
345
  Scoutui::Base::UserVars.instance.set('eyes.viewport', @options[:viewport])
327
346
  }
328
- end.parse!
347
+ end
348
+ # end.parse!(args)
349
+
350
+ if !args.nil?
351
+ opt_parser.parse!(args)
352
+ else
353
+ opt_parser.parse!
354
+ end
355
+
329
356
 
330
357
  if Scoutui::Utils::TestUtils.instance.isDebug?
331
358
  Scoutui::Logger::LogMgr.instance.info __FILE__ + (__LINE__).to_s + " ScoutUI Version : " + Scoutui::VERSION
@@ -503,6 +530,10 @@ module Scoutui::Utils
503
530
  @options[:sauce_build] || nil
504
531
  end
505
532
 
533
+ def getSauceTunnel()
534
+ @options[:sauce_tunnelid]
535
+ end
536
+
506
537
  def getSeleniumServer()
507
538
  @options[:selenium_server]
508
539
  end
@@ -654,22 +685,22 @@ module Scoutui::Utils
654
685
  for i in 0 .. (_uservars.size - 1)
655
686
 
656
687
  _t = Scoutui::Base::UserVars.instance.get(_uservars[i][0])
657
- puts __FILE__ + (__LINE__).to_s + " translate(#{_uservars[i][0]}) => #{_t}"
688
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " translate(#{_uservars[i][0]}) => #{_t}"
658
689
 
659
690
  if !_t.nil? && _uservars[i][0]!=_t
660
691
  _v2.gsub!("\$\{#{_uservars[i][0]}\}", _t)
661
692
  end
662
693
 
663
- puts __FILE__ + (__LINE__).to_s + " value => #{_v2}"
694
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " value => #{_v2}"
664
695
 
665
696
  end
666
697
 
667
698
  ## Global replaces
668
699
  _text_to_type = Scoutui::Base::UserVars.instance.get(_v2)
669
700
 
670
- puts __FILE__ + (__LINE__).to_s + " rawText : #{_text_to_type}"
701
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " rawText : #{_text_to_type}"
671
702
  _text_to_type = Scoutui::Commands::Utils.instance.expandMacro(_text_to_type)
672
- puts __FILE__ + (__LINE__).to_s + " Text to type : #{_text_to_type}"
703
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " Text to type : #{_text_to_type}"
673
704
 
674
705
  _text_to_type
675
706
  end
@@ -678,13 +709,13 @@ module Scoutui::Utils
678
709
 
679
710
  def expandVars(h)
680
711
 
681
- puts __FILE__ + (__LINE__).to_s + " expandVars(#{h})"
712
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " expandVars(#{h})"
682
713
 
683
714
  h.each do |k, v|
684
715
  if v.is_a?(Hash) || v.is_a?(Array)
685
716
  expandVars(v)
686
717
  else
687
- puts("k is #{k}, value is #{v}")
718
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + "k is #{k}, value is #{v}"
688
719
 
689
720
  h[k]=transpile(v)
690
721
  end
@@ -1,3 +1,3 @@
1
1
  module Scoutui
2
- VERSION = "2.0.5.4"
2
+ VERSION = "2.0.5.5"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: scoutui
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.5.4
4
+ version: 2.0.5.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter Kim
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-01-31 00:00:00.000000000 Z
11
+ date: 2017-03-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -242,6 +242,7 @@ files:
242
242
  - lib/scoutui/base/q_form.rb
243
243
  - lib/scoutui/base/q_har_mgr.rb
244
244
  - lib/scoutui/base/requirements.rb
245
+ - lib/scoutui/base/result_assertion.rb
245
246
  - lib/scoutui/base/test_context.rb
246
247
  - lib/scoutui/base/test_data.rb
247
248
  - lib/scoutui/base/test_scout.rb