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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: bbf796808a18143060a52ebcb6221e3d4a0bb388
4
- data.tar.gz: 841d44e21a34f8f5d2db8fd55c0e27e1d9c0b710
3
+ metadata.gz: d6dacda3f47090eebe3db6eabf36196b344021da
4
+ data.tar.gz: a133fff58bd29f175a76a09dd6b84059029fa65a
5
5
  SHA512:
6
- metadata.gz: 851555770f4079642021e5e9579d802e27031f4af7a8a0b88641b10ae1200ce5d4b110f315974b376aec837a9171626246eb639566c62ae0805c5f95fa5276c3
7
- data.tar.gz: 75361076e0fa9eb6b02fceb7c3abe2f057edee95499d59e42aa89c2e48215f7ab1ffaa8728e197307c5dd1694963111c568892c709e53304cfdce9eec2069ec7
6
+ metadata.gz: a720ce6295325c4b0784368782f61b91495338d832ac70dfa68ed04fc165d35f1839b68021eab4356bf5ea9fc02a985d4d0f802e27140e00768d4a77166f1540
7
+ data.tar.gz: a7a47e786526d6d0a7a3e3eccd6ff86be48254d4999dbae016e3245fea9d2f3099365e0505d8b311b5d00fca640bc98cf4d89b5a884ad398a17bd6027ef4f826
@@ -10,13 +10,23 @@ require 'logger'
10
10
  # --title <Applitools Title>
11
11
  # --browser <chrome|firefox|ie>
12
12
 
13
-
14
- nav = Scoutui::Navigator.new(Scoutui::Utils::TestUtils.instance.parseCommandLine())
15
-
16
-
17
- runner = Scoutui::Base::TestScout.new(nav)
18
-
19
- runner.start()
20
- runner.report()
21
-
22
-
13
+ results=nil
14
+
15
+ begin
16
+ nav = Scoutui::Navigator.new(Scoutui::Utils::TestUtils.instance.parseCommandLine())
17
+ runner = Scoutui::Base::TestScout.new(nav)
18
+ runner.start()
19
+ results=runner.report()
20
+ rescue => ex
21
+ # puts __FILE__ + (__LINE__).to_s + " #{ex.class.to_s} Error during processing: #{ex.message}"
22
+ puts ex.backtrace if !ex.message.match(/^SCOUTUI/)
23
+ end
24
+
25
+ rc=0
26
+ if results.nil?
27
+ rc=2
28
+ elsif !results.nil? && !results[:rc]
29
+ rc=1
30
+ end
31
+
32
+ exit(rc)
@@ -101,32 +101,32 @@ module Scoutui::ApplicationModel
101
101
  def itemize(condition='visible_when', _action='hover', _pgObj=nil)
102
102
  @results=hits(nil, @app_model, condition, _action, _pgObj)
103
103
 
104
- puts "[itemize] => #{@results}"
104
+ Scoutui::Logger::LogMgr.instance.debug "[itemize] => #{@results}"
105
105
 
106
106
  @results
107
107
  end
108
108
 
109
109
 
110
110
  def hits(parent, h, condition, _action, pg)
111
- # puts __FILE__ + (__LINE__).to_s + " collect_item_attributes(#{h})"
111
+ # Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " collect_item_attributes(#{h})"
112
112
  result = []
113
113
 
114
114
 
115
115
  if h.is_a?(Hash)
116
116
 
117
117
  h.each do |k, v|
118
- puts __FILE__ + (__LINE__).to_s + " Key: #{k} => #{v}"
118
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " Key: #{k} => #{v}"
119
119
  if k == condition
120
120
  # h[k].each {|k, v| result[k] = v } # <= tweak here
121
121
  if !v.is_a?(Array) && v.match(/^\s*#{_action}\s*\((.*)\)\s*$/i)
122
122
 
123
123
  pageObject=v.match(/^\s*#{_action}\s*\((.*)\)\s*$/i)[1]
124
124
 
125
- puts __FILE__ + (__LINE__).to_s + " <pg, pageObject> : <#{pg}, #{pageObject}>"
125
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " <pg, pageObject> : <#{pg}, #{pageObject}>"
126
126
  # result[k] = v
127
127
 
128
- # puts '*******************'
129
- # puts __FILE__ + (__LINE__).to_s + " HIT : #{h[k]}"
128
+ # Scoutui::Logger::LogMgr.instance.debug '*******************'
129
+ # Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " HIT : #{h[k]}"
130
130
  # result << { h[k] => v }
131
131
 
132
132
  if pg.nil?
@@ -139,14 +139,14 @@ module Scoutui::ApplicationModel
139
139
  elsif v.is_a?(Array)
140
140
 
141
141
  v.each do |vh|
142
- puts " =====> #{vh}"
142
+ Scoutui::Logger::LogMgr.instance.debug " =====> #{vh}"
143
143
 
144
144
  if vh.is_a?(Hash) && vh.has_key?(condition) && vh[condition].match(/^\s*#{_action}\s*/i)
145
145
 
146
146
  pageObject=vh[condition].match(/^\s*#{_action}\s*\((.*)\)\s*$/i)[1]
147
147
 
148
148
 
149
- puts __FILE__ + (__LINE__).to_s + " matched on #{_action}, pg:#{pg}, #{pageObject}"
149
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " matched on #{_action}, pg:#{pg}, #{pageObject}"
150
150
 
151
151
  if pg.nil?
152
152
  result << parent
@@ -173,8 +173,8 @@ module Scoutui::ApplicationModel
173
173
 
174
174
  result << _rc
175
175
 
176
- puts __FILE__ + (__LINE__).to_s + " ADDING #{k} : #{_rc}"
177
- # puts "====> #{k} : #{_rc.class} : #{_rc.length}"
176
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " ADDING #{k} : #{_rc}"
177
+ # Scoutui::Logger::LogMgr.instance.debug "====> #{k} : #{_rc.class} : #{_rc.length}"
178
178
 
179
179
 
180
180
  result.flatten!
@@ -189,7 +189,7 @@ module Scoutui::ApplicationModel
189
189
 
190
190
 
191
191
  result=nil if result.empty?
192
- puts __FILE__ + (__LINE__).to_s + " result : #{result}"
192
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " result : #{result}"
193
193
  result
194
194
  end
195
195
 
@@ -261,7 +261,7 @@ module Scoutui::ApplicationModel
261
261
  Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " | id(#{path}.#{_id}.#{_k}) - #{_h}"
262
262
 
263
263
  _h.each do |k, v|
264
- # puts __FILE__ + (__LINE__).to_s + " processing #{_id}.#{k}, #{v}"
264
+ # Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " processing #{_id}.#{k}, #{v}"
265
265
  if v.is_a?(Hash) && v.has_key?('locator')
266
266
  Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " processing #{_id}.#{_k}.#{k}"
267
267
  elsif v.is_a?(Hash) || v.is_a?(Array)
@@ -13,6 +13,7 @@ module Scoutui::Base
13
13
 
14
14
  def initialize
15
15
  @assertionTypes=[
16
+ { :cmd => 'isChecked', :pattern => '^\s*[!]*isChecked\((.*)\)\s*$', :parse => lambda { |_a| _parseFrameLoc('isChecked', _a) } },
16
17
  { :cmd => 'isEnabled', :pattern => '^\s*[!]*isEnabled\((.*)\)\s*$', :parse => lambda { |_a| _parseFrameLoc('isEnabled', _a) } },
17
18
  { :cmd => 'isSelected', :pattern => '^\s*[!]*isSelected\((.*)\)\s*$', :parse => lambda { |_a| _parseFrameLoc('isSelected', _a) } },
18
19
  { :cmd => 'isText', :pattern => '^\s*[!]*(isText)\s*\(.*\)\s*\=\s*(.*)\s*$', :parse => lambda { |_a| _parseWith('isText', _a) } },
@@ -39,7 +40,15 @@ module Scoutui::Base
39
40
  Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " execute_when.condition => #{_uservar_val} equals #{_val}"
40
41
 
41
42
  if _cond=='=='
42
- _rc=(_uservar_val.match(/#{_val}/) || _uservar_val==_val)
43
+
44
+ if _val.match(/\/.*\//)
45
+ _regex = Regexp.new(_val.match(/\/(.*)\//)[1].to_s)
46
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " Val: #{_uservar_val} REGEX : #{_regex} => #{!_uservar_val.match(_regex).nil?}"
47
+ _rc = !_uservar_val.match(_regex).nil?
48
+ else
49
+ _rc=(_uservar_val.match(/#{_val}/) || _uservar_val==_val)
50
+ end
51
+
43
52
  else
44
53
  _rc=(!_uservar_val.match(/#{_val}/) || _uservar_val!=_val)
45
54
  end
@@ -265,6 +274,7 @@ module Scoutui::Base
265
274
 
266
275
  def isTitle(my_driver, _execute_when)
267
276
 
277
+ _result=Scoutui::Base::ResultAssertion.new()
268
278
  rc=nil
269
279
 
270
280
  Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " isTitle(#{_execute_when}"
@@ -276,14 +286,48 @@ module Scoutui::Base
276
286
  expected_title = Regexp.new(_locator)
277
287
  rc=!expected_title.match(current_title).nil?
278
288
 
289
+ _result.setReport("Actual: #{current_title} Expected: #{_locator}", rc)
279
290
  Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " isTitle?(#{_execute_when}) => #{rc}"
280
291
  rc
292
+ _result
293
+ end
294
+
295
+
296
+
297
+ def isChecked?(my_driver, _execute_when)
298
+ rc=true
299
+
300
+ _locator = _execute_when.match(/^\s*[!]*(isChecked)\((.*)\)\s*$/i)[2].to_s
301
+
302
+ _locator = Scoutui::Base::UserVars.instance.normalize(_locator)
303
+
304
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " isChecked => #{_locator}"
305
+
306
+ _obj = Scoutui::Base::QBrowser.findElement(my_driver, _locator, Scoutui::Commands::Utils.instance.getFrameSearch(), Scoutui::Commands::Utils.instance.getTimeout)
307
+
308
+ _state = _obj.attribute("checked")
309
+
310
+ _state = false if _state.nil? || _state.empty?
311
+
312
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " _obj.checked? => #{_state}"
313
+
314
+ if _execute_when.match(/^\s*!(isChecked)/i) && _state
315
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " !isChecked(#{_locator}) : false"
316
+ rc=false
317
+ elsif _execute_when.match(/^\s*(isChecked)/i) && !_state
318
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " isChecked(#{_locator}) : false"
319
+ rc=false
320
+ end
321
+
322
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " isChecked?(#{_execute_when}) => #{rc}"
323
+ rc
281
324
  end
282
325
 
283
326
  def isValue?(my_driver, page_elt)
284
327
 
285
328
  rc = false
286
329
  _txt = nil
330
+ _result=Scoutui::Base::ResultAssertion.new()
287
331
 
288
332
  if page_elt.is_a?(String) && page_elt.match(/^\s*(text|value)\s*\(/)
289
333
  #
@@ -297,6 +341,8 @@ module Scoutui::Base
297
341
 
298
342
  xpath = Scoutui::Base::UserVars.instance.get(tmpObj)
299
343
 
344
+ xpath = Scoutui::Base::UserVars.instance.normalize(xpath) # 5150
345
+
300
346
  Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " locator : #{xpath}"; #gets
301
347
 
302
348
  obj = Scoutui::Base::QBrowser.getObject(my_driver, xpath, Scoutui::Commands::Utils.instance.getTimeout)
@@ -314,13 +360,18 @@ module Scoutui::Base
314
360
  elsif condition.match(/^\s*value/)
315
361
  _txt = obj.attribute('value')
316
362
  Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " value : #{_txt}"
317
- expected_regex = Regexp.new(expectedVal)
318
- rc = !_txt.to_s.match(expected_regex).nil?
363
+ expected_regex = Regexp.new(expectedVal)
364
+ expandedExpected = Scoutui::Commands::Utils.instance.expandMacro(expectedVal)
365
+
366
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " Expanded(#{expectedVal}) : #{expandedExpected}"
367
+ rc = (!_txt.to_s.match(expected_regex).nil?) || _txt.to_s==expandedExpected
319
368
  else
320
369
  Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " Unknown conditon: #{condition}"
321
370
  end
322
371
 
323
- Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + "txt/val: #{_txt} rc => #{rc}"
372
+
373
+ _result.setReport("actual: #{_txt} expected: #{expectedVal}")
374
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + "txt/val: #{_txt} expected: #{expectedVal} rc => #{rc}"
324
375
  end
325
376
 
326
377
 
@@ -332,7 +383,9 @@ module Scoutui::Base
332
383
 
333
384
  end
334
385
 
335
- rc
386
+ _result.setResult(rc)
387
+ # rc
388
+ _result
336
389
  end
337
390
 
338
391
 
@@ -450,6 +450,11 @@ module Scoutui::Base
450
450
  locateBy=:xpath
451
451
  hits=nil
452
452
 
453
+ locator = Scoutui::Base::UserVars.instance.normalize(locator)
454
+ _parsed = Scoutui::Base::QBrowser.parseLocator(locator)
455
+
456
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " #{locator} ==> #{_parsed}"
457
+
453
458
 
454
459
  if locator.match(/^\s*css\s*\=\s*/i)
455
460
  locateBy = :css
@@ -0,0 +1,54 @@
1
+
2
+
3
+ module Scoutui::Base
4
+
5
+
6
+ class ResultAssertion
7
+
8
+ attr_accessor :result
9
+ attr_accessor :report
10
+
11
+ def initialize(rc=nil)
12
+ @result=rc
13
+ @report=""
14
+ end
15
+
16
+ def setResult(b)
17
+ @result=b
18
+ end
19
+
20
+ def setReport(_s, _result=nil)
21
+ @report=_s
22
+ if !_result.nil?
23
+ setResult(_result)
24
+ end
25
+ end
26
+
27
+ def report
28
+ @report
29
+ end
30
+
31
+ def executed?
32
+ !@result.nil?
33
+ end
34
+
35
+ def passed?
36
+ @result
37
+ end
38
+
39
+ def failed?
40
+ executed? && !passed?
41
+ end
42
+
43
+ def toString()
44
+ if !executed?
45
+ return "not executed"
46
+ end
47
+
48
+ @result.to_s
49
+ end
50
+
51
+
52
+ end
53
+
54
+ end
@@ -98,7 +98,7 @@ module Scoutui::Base
98
98
 
99
99
 
100
100
 
101
- if src.is_a?(TrueClass) || src.nil? || src.empty?
101
+ if src.is_a?(TrueClass) || src.is_a?(Fixnum) || src.nil? || src.empty?
102
102
  return src
103
103
  end
104
104
 
@@ -407,9 +407,13 @@ module Scoutui::Base
407
407
  _execute_when.each do |_a|
408
408
  Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " assert: => #{_a}"
409
409
 
410
+ _tmpResult=nil
411
+ _assertText=nil
410
412
  _rc=nil
411
413
  _bm=nil
412
414
 
415
+ _assertMessage = "Assert #{_a}."
416
+
413
417
  _assertType=Scoutui::Base::Assertions.instance.isValidAssertType(_a)
414
418
 
415
419
  Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " assertType : #{_assertType}"
@@ -451,6 +455,11 @@ module Scoutui::Base
451
455
  _bm=Benchmark.measure {
452
456
  _rc=Scoutui::Base::Assertions.instance.compareValue(_a)
453
457
  }
458
+
459
+ elsif _assertType[:cmd]=='isChecked'
460
+ _bm=Benchmark.measure {
461
+ _rc=Scoutui::Base::Assertions.instance.isChecked?(my_driver, _a)
462
+ }
454
463
  end
455
464
 
456
465
  elsif Scoutui::Base::Assertions.instance.isRoleCmd?(_a)
@@ -465,13 +474,50 @@ module Scoutui::Base
465
474
  }
466
475
  elsif Scoutui::Base::Assertions.instance.isValueCmd?(_a)
467
476
  _bm=Benchmark.measure {
468
- _rc=Scoutui::Base::Assertions.instance.isValue?(my_driver, _a)
477
+ _tmpResult=Scoutui::Base::Assertions.instance.isValue?(my_driver, _a)
478
+ _rc=_tmpResult.passed?
469
479
  }
470
480
  elsif Scoutui::Base::Assertions.instance.isTitleCmd?(_a)
471
481
  _bm=Benchmark.measure {
472
- _rc=Scoutui::Base::Assertions.instance.isTitle(my_driver, _a)
482
+ _tmpResult=Scoutui::Base::Assertions.instance.isTitle(my_driver, _a)
483
+ _rc=_tmpResult.passed?
473
484
  }
474
485
 
486
+ elsif _a.match(/^\s*count\(.*\)\s*(==|!=|>=|<=|<|>)\s*(\d+|\$\{.*\})$/)
487
+
488
+ _mResult = _a.match(/^\s*count\((.*)\)\s*(==|!=|>=|<=|<|>)\s*(\d+|\$\{.*\})$/)
489
+ _locator = _mResult[1]
490
+ _op = _mResult[2]
491
+ _v = Scoutui::Base::UserVars.instance.normalize(_mResult[3]).to_i
492
+
493
+ ## _v should be an integer
494
+
495
+ _bm=Benchmark.measure {
496
+ hits = Scoutui::Base::QBrowser.findElements( { :driver => my_driver, :locator => _locator })
497
+
498
+
499
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " Process COUNT : #{_locator} is #{_op} val #{_v} => #{hits.length}"
500
+
501
+
502
+ if _op=='=='
503
+ _rc = hits.length == _v
504
+ elsif _op=='>='
505
+ _rc = hits.length >= _v
506
+ elsif _op=='<='
507
+ _rc = hits.length <= _v
508
+ elsif _op=='<'
509
+ _rc = hits.length < _v
510
+ elsif _op=='>'
511
+ _rc = hits.length > _v
512
+ elsif _op=='!='
513
+ _rc = hits.length != _v
514
+ end
515
+
516
+ _tmpResult=Scoutui::Base::ResultAssertion.new()
517
+ _tmpResult.setReport("Assert count(#{_locator}) #{_op} #{_v}. Actual: #{hits.length} Expected: #{_v}. : #{_rc}", _rc)
518
+ }
519
+
520
+
475
521
 
476
522
  elsif _a.match(/^\s*[fF]ocused\(.*\)\s*$/)
477
523
 
@@ -488,11 +534,12 @@ module Scoutui::Base
488
534
  }
489
535
 
490
536
  if _rc
491
- puts __FILE__ + (__LINE__).to_s + " focused() - MATCHED"
537
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " focused() - MATCHED"
492
538
  end
493
539
 
494
540
  elsif _a.match(/^\s*([fF]ocused\.[Vv]alue\((.*)\))\s*$/)
495
541
  _expectedValue = _a.match(/^\s*([fF]ocused.[Vv]alue\((.*)\))\s*$/)[2].to_s
542
+ _expectedValue = Scoutui::Base::UserVars.instance.normalize(_expectedValue)
496
543
  _activeElt=nil
497
544
  _value=nil
498
545
 
@@ -504,7 +551,7 @@ module Scoutui::Base
504
551
 
505
552
  Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " activeElt.value : |#{_value.to_s}|"
506
553
 
507
- _rc=!(_value.to_s.match(/#{_expectedValue}/).nil?)
554
+ _rc=!(_value.to_s.match(/#{_expectedValue}/).nil?) || (_value.to_s==_expectedValue)
508
555
  end
509
556
  }
510
557
 
@@ -534,11 +581,14 @@ module Scoutui::Base
534
581
  Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " activeElt.value : |#{_activeElt.attribute('value').to_s}|"
535
582
  end
536
583
 
537
- _rc=!(_activeElt.text.to_s.match(/#{_targetTxt}/).nil?) # || _activeElt.text.to_s==_targetTxt.to_s
584
+ # _rc=!(_activeElt.text.to_s.match(/#{_targetTxt}/).nil?) # || _activeElt.text.to_s==_targetTxt.to_s
585
+ _rc= (!_activeElt.text.to_s.match(Regexp.new(_targetTxt)).nil?) || (_activeElt.text.to_s==_targetTxt)
538
586
 
539
- if _a.match(/^\s*!focused/)
540
- Scoutui::Logger::LogMgr.instance.info __FILE__ + (__LINE__).to_s + " verify #{_targetTxt} != #{_activeElt.text} => #{_rc}"
587
+ Scoutui::Logger::LogMgr.instance.info __FILE__ + (__LINE__).to_s + " isMatch : #{_rc}"
588
+
589
+ if _a.match(/^\s*![fF]ocused\./)
541
590
  _rc=!_rc
591
+ Scoutui::Logger::LogMgr.instance.info __FILE__ + (__LINE__).to_s + " verify #{_targetTxt} != #{_activeElt.text} => #{_rc}"
542
592
  end
543
593
 
544
594
  Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " FocusedText : #{_activeElt.text} => #{_rc}"
@@ -546,6 +596,7 @@ module Scoutui::Base
546
596
  }
547
597
 
548
598
  if _activeElt.is_a?(Selenium::WebDriver::Element)
599
+ _assertText = "Verify #{_a} - focused: #{_activeElt.text}, expected: #{_targetTxt} - #{_rc}"
549
600
  Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " ASSERT: focusTxt: #{_targetTxt} vs #{_activeElt.text} => #{_rc}"
550
601
  end
551
602
 
@@ -568,7 +619,7 @@ module Scoutui::Base
568
619
 
569
620
  elsif !_a.match(/^page\([\w\d]+\)/).nil?
570
621
 
571
- puts __FILE__ + (__LINE__).to_s + "\n\n=== Validate Page ==="
622
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + "\n\n=== Validate Page ==="
572
623
 
573
624
  _obj = processPageElement(my_driver, nil, _a)
574
625
 
@@ -576,7 +627,7 @@ module Scoutui::Base
576
627
  #puts __FILE__ + (__LINE__).to_s + " *** WHAT type of assertion => #{_obj}"; STDIN.gets
577
628
 
578
629
  elsif !_a.match(/^\s*accessibility\s*$/).nil?
579
- puts __FILE__ + (__LINE__).to_s + " *** Accessibility ***"
630
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " *** Accessibility ***"
580
631
 
581
632
 
582
633
  # 5150
@@ -586,6 +637,18 @@ module Scoutui::Base
586
637
  end
587
638
 
588
639
  # textAreas = Scoutui::Base::QBrowser.getObjects( { :driver => my_driver, :locator => '//textarea' })
640
+
641
+
642
+ # elsif _a.match(/^\s*[!](existsalert|existsalert|exists\(alert\))/i)
643
+ elsif Scoutui::Commands::Utils.instance.isExistsAlert?(_a)
644
+ _bm=Benchmark.measure {
645
+
646
+ _c = Scoutui::Commands::JsAlert::ExistsAlert.new(_a)
647
+ _rc = _c.execute(my_driver)
648
+ _assertMessage = _c.getAssertText()
649
+ #_rc = _c.alertExists?
650
+ Scoutui::Logger::LogMgr.instance.info __FILE__ + (__LINE__).to_s + " existsAlert => #{_rc}"
651
+ }
589
652
  end
590
653
 
591
654
  if !_rc.nil?
@@ -596,7 +659,21 @@ module Scoutui::Base
596
659
 
597
660
  _testcase = Scoutui::Utils::TestUtils.instance.getTC() || "visible_when"
598
661
 
599
- Testmgr::TestReport.instance.getReq(_req).get_child(_testcase).add(_rc, "Assert #{_a}", _bm.real)
662
+ # _assertMessage = "Assert #{_a}."
663
+
664
+ if !_tmpResult.nil?
665
+ _assertMessage+=" #{_tmpResult.report}"
666
+ end
667
+
668
+ Testmgr::TestReport.instance.getReq(_req).get_child(_testcase).add(_rc, _assertMessage, _bm.real)
669
+
670
+ if Scoutui::Utils::TestUtils.instance.isFailFast? && !_rc
671
+
672
+ _assertText = "Failed assertion: #{_a.to_s}" if _assertText.nil?
673
+ Scoutui::Utils::TestUtils.instance.setState(:abort, _assertText)
674
+
675
+ end
676
+
600
677
  end
601
678
 
602
679
  Scoutui::Commands::Utils.instance.resetFrameSearch()
@@ -1230,7 +1307,10 @@ module Scoutui::Base
1230
1307
 
1231
1308
  elsif Scoutui::Base::Assertions.instance.isValueCmd?(_a)
1232
1309
 
1233
- if !Scoutui::Base::Assertions.instance.isValue?(my_driver, _a)
1310
+ _tmpRc=Scoutui::Base::Assertions.instance.isValue?(my_driver, _a)
1311
+
1312
+ # if !Scoutui::Base::Assertions.instance.isValue?(my_driver, _a)
1313
+ if !_tmpRc.passed?
1234
1314
  Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " value doesnt match"
1235
1315
  _executeIt = false
1236
1316
  end
@@ -1397,9 +1477,12 @@ module Scoutui::Base
1397
1477
 
1398
1478
  if !isRun(e).nil?
1399
1479
 
1400
- Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " ========> RUN <================="
1480
+
1401
1481
  tmpSettings=test_settings.dup
1402
- tmpSettings["dut"]=e[STEP_KEY]["run"].to_s
1482
+ tmpSettings["dut"]=Scoutui::Base::UserVars.instance.normalize(e[STEP_KEY]["run"].to_s)
1483
+
1484
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " ========> RUN #{tmpSettings['dut']} <================="
1485
+
1403
1486
 
1404
1487
  Scoutui::Logger::LogMgr.instance.info " RUN Command file : #{tmpSettings["dut"]}"
1405
1488
  processFile(eyeScout, tmpSettings, strategy)
@@ -1436,7 +1519,7 @@ module Scoutui::Base
1436
1519
  if Scoutui::Utils::TestUtils.instance.isFailFast? && !_command.passed?
1437
1520
  Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + "FAIL FAST => #{_command.passed?}"
1438
1521
  Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " Failfast.";
1439
- Scoutui::Utils::TestUtils.instance.setState(:abort)
1522
+ Scoutui::Utils::TestUtils.instance.setState(:abort, "Step #{i.to_s} : #{_name.to_s} : #{_action.to_s}")
1440
1523
  takeScreenShot(my_driver, "step_#{i}.failed")
1441
1524
  return
1442
1525
  end
@@ -1478,12 +1561,12 @@ module Scoutui::Base
1478
1561
 
1479
1562
  _shotName="step_#{i}.failed"
1480
1563
  if !_name.nil?
1481
- _shotName = "#{_name.to_s}.#{_shotName}"
1564
+ _shotName = "#{_shotName}.#{_name.to_s}"
1482
1565
  end
1483
1566
 
1484
1567
  takeScreenShot(my_driver, _shotName)
1485
1568
 
1486
- Scoutui::Utils::TestUtils.instance.setState(:abort, 'Failed assertion with failfast enabled.')
1569
+ Scoutui::Utils::TestUtils.instance.setState(:abort, "Step #{i.to_s}. #{_name.to_s}")
1487
1570
  return
1488
1571
  end
1489
1572
 
@@ -1524,7 +1607,7 @@ module Scoutui::Base
1524
1607
  if Scoutui::Utils::TestUtils.instance.screenShots? || (Scoutui::Utils::TestUtils.instance.screenShotsOnFailure? && !_assertResult)
1525
1608
  _shotName="step_#{i}"
1526
1609
  if !_name.nil?
1527
- _shotName = "#{_name.to_s}.#{_shotName}"
1610
+ _shotName = "#{_shotName}.#{_name.to_s}"
1528
1611
  end
1529
1612
 
1530
1613
  takeScreenShot(my_driver, _shotName)