scoutui 2.0.5.4 → 2.0.5.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -48,7 +48,7 @@ module Scoutui::Commands
48
48
  # Check for list of elements to click
49
49
 
50
50
  elsif _subcmd.match(/^\s*press\(__DOWN__\)$/)
51
- puts __FILE__ + (__LINE__).to_s + " Press down"
51
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " Press down"
52
52
  drv.action.send_keys(:arrow_down).perform
53
53
 
54
54
  elsif _subcmd.match(/^\s*press\(__UP__\)$/)
@@ -70,6 +70,9 @@ module Scoutui::Commands
70
70
  _c = Scoutui::Commands::ClickObject.new(_subcmd)
71
71
  _c.run(driver: drv)
72
72
 
73
+ elsif _subcmd.match(/^\s*press\(__SPACE__\)\s*$/)
74
+ drv.action.send_keys(:space).perform
75
+
73
76
  elsif Scoutui::Commands::Utils.instance.isMouseOver?(_subcmd)
74
77
  _cmd='MouseOver'
75
78
  _c = Scoutui::Commands::MouseOver.new(_subcmd)
@@ -131,10 +134,10 @@ module Scoutui::Commands
131
134
 
132
135
  _activeElt = @drv.switch_to.active_element
133
136
 
134
- puts __FILE__ + (__LINE__).to_s + " ActiveElt => #{_activeElt.text}"
137
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " ActiveElt => #{_activeElt.text}"
135
138
 
136
139
  if _historyElts.size > 0 && _historyElts.has_key?(_activeElt)
137
- puts __FILE__ + (__LINE__).to_s + "****** WRAPPED ******"; #STDIN.gets
140
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + "****** WRAPPED ******"; #STDIN.gets
138
141
 
139
142
  _loop=false
140
143
  else
@@ -145,7 +148,7 @@ module Scoutui::Commands
145
148
 
146
149
  if _loop && !pageElt.nil? && pageElt['page'].has_key?('until')
147
150
  _expected=Scoutui::Base::VisualTestFramework::processAsserts(@drv, pageElt['page']['until'], false)
148
- puts __FILE__ + (__LINE__).to_s + " ==> until : #{_expected}"
151
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " ==> until : #{_expected}"
149
152
 
150
153
  _loop=!_expected
151
154
 
@@ -162,7 +165,7 @@ module Scoutui::Commands
162
165
 
163
166
  if !_bUntil && _i > 75
164
167
  _loop=false
165
- puts __FILE__ + (__LINE__).to_s + " ** BREAK OUT **"; #STDIN.gets
168
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " ** BREAK OUT **"; #STDIN.gets
166
169
  end
167
170
 
168
171
  end # while()
@@ -28,7 +28,7 @@ module Scoutui::Commands
28
28
 
29
29
  if _subcmd.is_a?(String)
30
30
 
31
- Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " | then => #{_subcmd}"
31
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " | simpleCmd => #{_subcmd}"
32
32
 
33
33
  if _subcmd.match(/^\s*press\(__TAB__\)$/)
34
34
  drv.action.send_keys(:tab).perform
@@ -65,22 +65,30 @@ module Scoutui::Commands
65
65
  drv.action.key_up(:command).perform
66
66
  Scoutui::Base::TestContext.instance.set(:command_down, false)
67
67
 
68
- elsif _subcmd.match(/^\s*press\(__CONTROL__\)$/)
68
+ elsif _subcmd.match(/^\s*press\(__CONTROL__\)\s*$/)
69
69
 
70
70
  drv.driver.action.key_down(:control).perform
71
71
  drv.action.key_up(:control).perform
72
72
 
73
73
  # Check for list of elements to click
74
74
 
75
- elsif _subcmd.match(/^\s*press\(__DOWN__\)$/)
75
+ elsif _subcmd.match(/^\s*press\(__DOWN__\)\s*$/)
76
76
  drv.action.send_keys(:arrow_down).perform
77
77
  _activeElt = drv.switch_to.active_element
78
- Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " activeElt.Value: #{_activeElt.attribute('value').to_s}"
78
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " activeElt.Value: #{_activeElt.attribute('value').to_s} Text: #{_activeElt.attribute('text').to_s}"
79
79
 
80
+ elsif _subcmd.match(/^\s*press\(__LEFT__\)\s*$/)
81
+ drv.action.send_keys(:arrow_left).perform
82
+
83
+ elsif _subcmd.match(/^\s*press\(__RIGHT__\)\s*$/)
84
+ drv.action.send_keys(:arrow_right).perform
80
85
 
81
86
  elsif _subcmd.match(/^\s*press\(__UP__\)$/)
82
87
  drv.action.send_keys(:arrow_up).perform
83
88
 
89
+ elsif _subcmd.match(/^\s*press\(__SPACE__\)$/)
90
+ drv.action.send_keys(:space).perform
91
+
84
92
  elsif _subcmd.match(/^\s*press\(__ENTER__\)\s*$/)
85
93
  drv.action.send_keys(:enter).perform
86
94
 
@@ -22,7 +22,7 @@ module Scoutui::Commands
22
22
 
23
23
  id=e['page']['id'].to_s
24
24
  commands = e['page']['commands']
25
- puts __FILE__ + (__LINE__).to_s + " id, commands => #{id}, #{commands}"
25
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " id, commands => #{id}, #{commands}"
26
26
 
27
27
 
28
28
  c=nil
@@ -39,12 +39,12 @@ module Scoutui::Commands
39
39
  _cmd = _cmd + r.to_s + ";"
40
40
  end
41
41
 
42
- puts __FILE__ + (__LINE__).to_s + " command(#{e['page']['id'].to_s}, #{_cmd})"
42
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " command(#{e['page']['id'].to_s}, #{_cmd})"
43
43
  c=CmdShellMgr::DSL.instance.cmd(:cmd => "command(#{e['page']['id'].to_s}, #{_cmd})")
44
44
 
45
45
 
46
46
  else
47
- puts __FILE__ + (__LINE__).to_s + " Unknown DSL cmd"
47
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " Unknown DSL cmd"
48
48
 
49
49
  end
50
50
 
@@ -5,15 +5,31 @@ module Scoutui::Commands::JsAlert
5
5
  class ExistsAlert < Scoutui::Commands::Command
6
6
 
7
7
 
8
+ def initialize(_cmd, _drv=nil)
9
+ super(_cmd, _drv)
10
+
11
+ @assertText=nil
12
+ @alert_text=nil
13
+ @_alertExists=false
14
+ end
15
+
16
+ def alertExists?
17
+ @_alertExists
18
+ end
19
+
20
+ def getAssertText()
21
+ @assertText
22
+ end
23
+
8
24
  def execute(drv=nil)
9
25
  @drv=drv if !drv.nil?
10
26
 
11
27
  _rc=nil
12
- _alertExists=false
28
+ @_alertExists=false
13
29
 
14
30
  Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " command => #{@cmd.to_s}"
15
31
 
16
- _action=@cmd.match(/(exist[s]*_*alert|existAlert|existsAlert|existsJsAlert|existsJsConfirm|existsJsPrompt)\s*\((.*)\)/i)[2].to_s.strip
32
+ _action=@cmd.match(/[!]*(exist[s]*_*alert|existAlert|existsAlert|existsJsAlert|existsJsConfirm|existsJsPrompt)\s*\((.*)\)/i)[2].to_s.strip
17
33
 
18
34
  Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " ExistsAlert(#{_action})"
19
35
 
@@ -23,10 +39,12 @@ module Scoutui::Commands::JsAlert
23
39
  alert=@drv.switch_to.alert
24
40
  Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " | alert => #{alert.class.to_s}"
25
41
 
26
- _alertExists = alert.is_a?(Selenium::WebDriver::Alert)
27
- if _alertExists && !(_action.nil? && _action.empty?)
42
+ @_alertExists = alert.is_a?(Selenium::WebDriver::Alert)
43
+ if @_alertExists && !(_action.nil? && _action.empty?)
28
44
  _r = Regexp.new _action.to_s
29
45
 
46
+ @alert_text = alert.text.to_s
47
+
30
48
  Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " _r => #{_r}"
31
49
  Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " _t => #{alert.text.to_s}"
32
50
  _rc=!alert.text.to_s.match(_r).nil?
@@ -39,21 +57,58 @@ module Scoutui::Commands::JsAlert
39
57
  alert=nil
40
58
  end
41
59
 
42
- Testmgr::TestReport.instance.getReq('UI').testcase('expectJsAlert').add(_alertExists, "Verify JsAlert is present")
60
+ @assertText = "Verify JsAlert is present"
61
+
62
+ if @cmd.match(/^\s*e/i)
43
63
 
44
- if !(_action.nil? && _action.empty?)
45
- Testmgr::TestReport.instance.getReq('UI').get_child('expectJsAlert').add(_rc, "Verify JsAlert contains text #{_action}")
64
+ if (_action.empty?)
65
+ _rc = @_alertExists
66
+ else
67
+ @assertText = "Verify JsAlert exists with matching regex #{_action} (actual: #{@alert_text})"
68
+ _r = Regexp.new _action.to_s
69
+ _rc = @_alertExists && !@alert_text.match(_r).nil?
70
+ end
46
71
 
72
+ ##
73
+ # Verify if alert is explicitly NOT present (e.g. !existsAlert() )
74
+ # or,
75
+ # Verify if the existing Alert DOES NOT have matching text.
76
+ ##
77
+ elsif @cmd.match(/^\s*!/)
78
+
79
+ _rc = false
80
+
81
+ if !@_alertExists && _action.empty?
82
+ ##
83
+ # !existsAlert()
84
+ ##
85
+ @assertText = "Verify JsAlert is not present"
86
+ _rc = true
87
+ elsif !@_alertExists && !_action.empty?
88
+ @assertText = "Verify JsAlert exists without matching #{_action}"
89
+ _rc = false
90
+ elsif @_alertExists
91
+ @assertText = "Verify existing JsAlert does not match #{_action}"
92
+ _rc = @alert_text.match(/#{_action}/).nil?
93
+ end
47
94
 
48
- setResult(_rc)
49
95
  end
50
96
 
51
- Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " ExistsAlert() => #{alert.class.to_s} rc:#{_rc.to_s}"
52
97
 
53
98
 
99
+ # Testmgr::TestReport.instance.getReq('UI').testcase('expectJsAlert').add(@_alertExists, assertText)
100
+
101
+ # if !(_action.nil? && _action.empty?)
102
+ # Testmgr::TestReport.instance.getReq('UI').get_child('expectJsAlert').add(_rc, assertText)
103
+ # end
104
+
105
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " ExistsAlert() => #{alert.class.to_s} rc:#{_rc.to_s}"
106
+ setResult(_rc)
107
+
54
108
  end
55
109
 
56
110
 
111
+
57
112
  end
58
113
 
59
114
 
@@ -6,7 +6,7 @@ module Scoutui::Commands
6
6
 
7
7
 
8
8
  def execute(drv, e=nil)
9
- puts __FILE__ + (__LINE__).to_s + " LoadJs.execute(#{e})"
9
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " LoadJs.execute(#{e})"
10
10
  @drv=drv if !drv.nil?
11
11
 
12
12
  rc=false
@@ -23,10 +23,10 @@ module Scoutui::Commands
23
23
  e['page']['files'].each do |r|
24
24
  y=YAML.load_stream File.read(r)
25
25
 
26
- puts __FILE__ + (__LINE__).to_s + " *** REQMT => #{y}"
26
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " *** REQMT => #{y}"
27
27
 
28
28
  y.each do |_y|
29
- puts __FILE__ + (__LINE__).to_s + " ===> #{_y}"
29
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " ===> #{_y}"
30
30
  Scoutui::Base::Requirements.instance.add(_y['requirement']['name'], _y['requirement']['assertions'])
31
31
  end
32
32
 
@@ -28,7 +28,7 @@ module Scoutui::Commands
28
28
  elsif _pg.is_a?(String)
29
29
  isVisible=Scoutui::Base::Assertions.instance.isVisible(@drv, _pg, _r)
30
30
  else
31
- puts __FILE__ + (__LINE__).to_s + " => #{_pg}"
31
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " => #{_pg}"
32
32
  end
33
33
 
34
34
  # Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " IsVisible #{isVisible} - PAUSE"; gets
@@ -29,7 +29,7 @@ module Scoutui::Commands
29
29
 
30
30
 
31
31
  if e.is_a?(Hash) && e.has_key?('page') && e['page'].has_key?('frames')
32
- puts __FILE__ + (__LINE__).to_s + " frames => #{e['page']['frames']}";
32
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " frames => #{e['page']['frames']}";
33
33
  end
34
34
 
35
35
  _seekTime[:start]=Time.now
@@ -35,7 +35,7 @@ module Scoutui::Commands
35
35
 
36
36
 
37
37
  @drv.window_handles.each do |_w|
38
- puts __FILE__ + (__LINE__).to_s + "#{i}. #{_w.class.to_s}"
38
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + "#{i}. #{_w.class.to_s}"
39
39
 
40
40
  if matchWith[:by]==:index && i==matchWith[:value]
41
41
  Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " select_window : #{i}"
@@ -62,7 +62,7 @@ module Scoutui::Commands
62
62
 
63
63
  @drv.switch_to.window(_w) if matchWith[:by]!=:regex
64
64
 
65
- puts __FILE__ + (__LINE__).to_s + " switched => #{@drv.title}"
65
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " switched => #{@drv.title}"
66
66
  break
67
67
  end
68
68
 
@@ -243,6 +243,11 @@ module Scoutui::Commands
243
243
 
244
244
  sauce_endpoint = "http://#{ENV['SAUCE_USERNAME']}:#{ENV['SAUCE_ACCESS_KEY']}@ondemand.saucelabs.com:80/wd/hub"
245
245
 
246
+ if Scoutui::Utils::TestUtils.instance.getSauceTunnel()
247
+ caps[:tunnelIdentifier]=Scoutui::Utils::TestUtils.instance.getSauceTunnel()
248
+ puts __FILE__ + (__LINE__).to_s + " TunnelID: #{caps[:tunnelIdentifier]}"
249
+ end
250
+
246
251
  begin
247
252
  if client.nil?
248
253
  Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " caps => #{caps}"
@@ -270,7 +275,8 @@ module Scoutui::Commands
270
275
 
271
276
 
272
277
  selenium_server=Scoutui::Utils::TestUtils.instance.getSeleniumServer()
273
- selenium_server='http://localhost:8001' if selenium_server.nil?
278
+
279
+ # selenium_server='http://localhost:8001' if selenium_server.nil?
274
280
 
275
281
  if isHeadlessCap?(caps) && caps.has_key?(:useragent)
276
282
  _cap=Selenium::WebDriver::Remote::Capabilities.phantomjs('phantomjs.page.settings.userAgent' => caps[:useragent])
@@ -281,7 +287,13 @@ module Scoutui::Commands
281
287
  _connected=false
282
288
  _tm={:start => Time.now, :end => nil }
283
289
  begin
284
- @drv=Selenium::WebDriver.for :remote, :url => selenium_server, :desired_capabilities => _cap
290
+ if !selenium_server.nil?
291
+ @drv=Selenium::WebDriver.for :remote, :url => selenium_server, :desired_capabilities => _cap
292
+ else
293
+ @drv=Selenium::WebDriver.for :phantomjs
294
+ #@drv=Selenium::WebDriver.for :remote, :desired_capabilities => _cap
295
+ end
296
+
285
297
  _tm[:end]=Time.now
286
298
  _connected=true
287
299
  setViewport()
@@ -316,7 +328,7 @@ module Scoutui::Commands
316
328
  end
317
329
 
318
330
 
319
- if opts.is_a?(Hash) && opts.has_key?(:loadModel).nil?
331
+ if opts.is_a?(Hash) && !opts.has_key?(:loadModel).nil?
320
332
  loadModel(opts[:loadModel])
321
333
  end
322
334
 
@@ -10,7 +10,7 @@ module Scoutui::Commands
10
10
  _locator = @cmd.match(/frame\s*\((.*)\)/)[1].to_s.strip
11
11
 
12
12
 
13
- puts __FILE__ + (__LINE__).to_s + " frame : #{_locator}"
13
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " frame : #{_locator}"
14
14
 
15
15
  rc = Array.new()
16
16
 
@@ -27,7 +27,7 @@ module Scoutui::Commands
27
27
 
28
28
  _obj = @drv.find_elements(:xpath, _locator)
29
29
 
30
- puts __FILE__ + (__LINE__).to_s + " frames => #{frames} : #{_obj}"
30
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " frames => #{frames} : #{_obj}"
31
31
 
32
32
  if _obj.empty?
33
33
 
@@ -35,14 +35,14 @@ module Scoutui::Commands
35
35
 
36
36
 
37
37
  _name = frames[i].attribute('name')
38
- puts __FILE__ + (__LINE__).to_s + " Process frame[#{i}] : #{frames[i].attribute('name')}"
38
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " Process frame[#{i}] : #{frames[i].attribute('name')}"
39
39
 
40
40
  @drv.switch_to.frame _name
41
41
  # @drv.switch_to.frame i
42
42
 
43
43
  _hits = execute(drv, _e)
44
44
 
45
- puts __FILE__ + (__LINE__).to_s + " hits => #{_hits}"
45
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " hits => #{_hits}"
46
46
 
47
47
 
48
48
  @drv.switch_to.parent_frame
@@ -58,7 +58,7 @@ module Scoutui::Commands
58
58
  end
59
59
 
60
60
 
61
- puts __FILE__ + (__LINE__).to_s + " _obj => #{_obj}"
61
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " _obj => #{_obj}"
62
62
 
63
63
  _obj
64
64
 
@@ -74,7 +74,7 @@ module Scoutui::Commands
74
74
  _locator = @cmd.match(/frame\s*\((.*)\)/)[1].to_s.strip
75
75
 
76
76
 
77
- puts __FILE__ + (__LINE__).to_s + " frame : #{_locator}"
77
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " frame : #{_locator}"
78
78
 
79
79
  rc = Array.new()
80
80
 
@@ -91,20 +91,20 @@ module Scoutui::Commands
91
91
 
92
92
  _obj = @drv.find_elements(:xpath, _locator)
93
93
 
94
- puts __FILE__ + (__LINE__).to_s + " frames => #{frames} : #{_obj}"
94
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " frames => #{frames} : #{_obj}"
95
95
 
96
96
  for i in 0 .. (frames.size - 1)
97
97
 
98
98
 
99
99
  _name = frames[i].attribute('name')
100
- puts __FILE__ + (__LINE__).to_s + " Process frame[#{i}] : #{frames[i].attribute('name')}"
100
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " Process frame[#{i}] : #{frames[i].attribute('name')}"
101
101
 
102
102
  @drv.switch_to.frame _name
103
103
  # @drv.switch_to.frame i
104
104
 
105
105
  _hits = execute(drv, _e)
106
106
 
107
- puts __FILE__ + (__LINE__).to_s + " hits => #{_hits}"
107
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " hits => #{_hits}"
108
108
 
109
109
  rc.concat _hits if !_hits.empty?
110
110
 
@@ -113,7 +113,7 @@ module Scoutui::Commands
113
113
  end
114
114
 
115
115
 
116
- puts __FILE__ + (__LINE__).to_s + " rc => #{rc}"
116
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " rc => #{rc}"
117
117
 
118
118
  rc
119
119
 
@@ -5,6 +5,8 @@ module Scoutui::Commands
5
5
  class Type < Command
6
6
 
7
7
  KEYBOARD_CMDS={
8
+ '__CLEAR__' => { :val => :clear },
9
+ '__CtlA__' => { :val => :ctl_a },
8
10
  '__DELETE__' => { :val => :delete },
9
11
  '__DOWN__' => { :val => :arrow_down },
10
12
  '__ENTER__' => { :val => :enter },
@@ -83,7 +85,7 @@ module Scoutui::Commands
83
85
 
84
86
  begin
85
87
 
86
- if @cmd.match(/^type\(focused\s*,\s*.*\)\s*$/)
88
+ if @cmd.match(/^type\([fF]ocused\s*,\s*.*\)\s*$/)
87
89
 
88
90
  Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " Type into active element"
89
91
  obj = @drv.switch_to.active_element
@@ -95,7 +97,7 @@ module Scoutui::Commands
95
97
  Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " | active.Text : " + obj.text.to_s
96
98
  Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " | active.Value: " + obj.attribute('value').to_s
97
99
 
98
- _val = @cmd.match(/^type\(focused\s*,\s*(.*)\)\s*$/)[1].to_s
100
+ _val = @cmd.match(/^type\([fF]ocused\s*,\s*(.*)\)\s*$/)[1].to_s
99
101
 
100
102
  if KEYBOARD_CMDS.has_key?(_val)
101
103
  _val = KEYBOARD_CMDS[_val][:val]
@@ -116,6 +118,18 @@ module Scoutui::Commands
116
118
 
117
119
  if KEYBOARD_CMDS[_keyVal][:val]==:custom
118
120
  KEYBOARD_CMDS[_keyVal][:run].call(@drv)
121
+ elsif KEYBOARD_CMDS[_keyVal][:val]==:clear
122
+ obj = @drv.switch_to.active_element
123
+ obj.clear
124
+ elsif KEYBOARD_CMDS[_keyVal][:val]==:ctl_a
125
+ # puts __FILE__ + (__LINE__).to_s + " CTL_A"; STDIN.gets;
126
+ # obj = @drv.switch_to.active_element
127
+ # obj.send_keys([:control, 'a']).perform
128
+ # @drv.action.key_down(:control).key_down('a').perform
129
+ @drv.action.key_down(:command)
130
+ .send_keys("a")
131
+ .key_up(:command)
132
+ .perform
119
133
  else
120
134
  @drv.action.send_keys(KEYBOARD_CMDS[_keyVal][:val]).perform
121
135
  end
@@ -123,8 +137,6 @@ module Scoutui::Commands
123
137
  thenClause = Scoutui::Commands::ThenClause.new(@drv)
124
138
  doUntil = Scoutui::Commands::DoUntil.new(@drv)
125
139
 
126
- _tm[:start]=Time.now
127
-
128
140
  # _bUntil = thenClause.execute_until(pageElt)
129
141
  _bUntil = doUntil.do_until(pageElt)
130
142
  _tm[:end]=Time.now
@@ -148,7 +160,9 @@ module Scoutui::Commands
148
160
 
149
161
  _tm[:start]=Time.now
150
162
 
151
- obj = Scoutui::Base::QBrowser.getElement(@drv, _xpath, Scoutui::Commands::Utils.instance.getFrameSearch(), Scoutui::Commands::Utils.instance.getTimeout)
163
+ obj = Scoutui::Base::QBrowser.getElement(@drv,
164
+ Scoutui::Base::UserVars.instance.normalize(_xpath),
165
+ Scoutui::Commands::Utils.instance.getFrameSearch(), Scoutui::Commands::Utils.instance.getTimeout)
152
166
 
153
167
  _tm[:end]=Time.now
154
168
 
@@ -170,7 +184,9 @@ module Scoutui::Commands
170
184
  wait = Selenium::WebDriver::Wait.new(:timeout => Scoutui::Commands::Utils.instance.getTimeout)
171
185
  isDisplayed = wait.until {
172
186
  if Scoutui::Base::QBrowser.isStale?(obj)
173
- obj = Scoutui::Base::QBrowser.findElement(@drv, _xpath, Scoutui::Commands::Utils.instance.getFrameSearch(), Scoutui::Commands::Utils.instance.getTimeout)
187
+ obj = Scoutui::Base::QBrowser.findElement(@drv,
188
+ Scoutui::Base::UserVars.instance.normalize(_xpath),
189
+ Scoutui::Commands::Utils.instance.getFrameSearch(), Scoutui::Commands::Utils.instance.getTimeout)
174
190
  end
175
191
  true if obj.displayed?
176
192
  }
@@ -188,7 +204,9 @@ module Scoutui::Commands
188
204
 
189
205
  (0..3).each do |j|
190
206
  if Scoutui::Base::QBrowser.isStale?(obj)
191
- obj = Scoutui::Base::QBrowser.getElement(@drv, _xpath, Scoutui::Commands::Utils.instance.getFrameSearch(), Scoutui::Commands::Utils.instance.getTimeout)
207
+ obj = Scoutui::Base::QBrowser.getElement(@drv,
208
+ Scoutui::Base::UserVars.instance.normalize(_xpath),
209
+ Scoutui::Commands::Utils.instance.getFrameSearch(), Scoutui::Commands::Utils.instance.getTimeout)
192
210
  _tm[:end]=Time.now
193
211
  else
194
212
  break
@@ -251,14 +269,18 @@ module Scoutui::Commands
251
269
  if _stale
252
270
  _inRow=0
253
271
  sleep 0.5
254
- obj = Scoutui::Base::QBrowser.getElement(@drv, _xpath, Scoutui::Commands::Utils.instance.getFrameSearch(), Scoutui::Commands::Utils.instance.getTimeout)
272
+ obj = Scoutui::Base::QBrowser.getElement(@drv,
273
+ Scoutui::Base::UserVars.instance.normalize(_xpath),
274
+ Scoutui::Commands::Utils.instance.getFrameSearch(), Scoutui::Commands::Utils.instance.getTimeout)
255
275
  _tm[:end]=Time.now
256
276
  else
257
277
  _inRow+=1
258
278
 
259
279
  break if _inRow >= 3
260
280
 
261
- obj = Scoutui::Base::QBrowser.getElement(@drv, _xpath, Scoutui::Commands::Utils.instance.getFrameSearch(), Scoutui::Commands::Utils.instance.getTimeout)
281
+ obj = Scoutui::Base::QBrowser.getElement(@drv,
282
+ Scoutui::Base::UserVars.instance.normalize(_xpath),
283
+ Scoutui::Commands::Utils.instance.getFrameSearch(), Scoutui::Commands::Utils.instance.getTimeout)
262
284
  _tm[:end]=Time.now
263
285
  end
264
286