scoutui 2.0.2 → 2.0.3.pre

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8875e31f650ade4f1ffcdb2dec0ef8bc7e6d7580
4
- data.tar.gz: 0008e2ed3e998cd9917a0a3ec7ea630c8d8c0e99
3
+ metadata.gz: 9a056f11ea1fd2e80f741a9994e95e21cd95d7d6
4
+ data.tar.gz: 2a0f010411e81363f9b766b77758473fe546639e
5
5
  SHA512:
6
- metadata.gz: 654b8aaed5a1e5e5f5f9b0336826b8a90f30edc244638a7bf6fc1a9d34caa380c04565809de7922c807301b845f982803937000b4d5eb5d39fc9b8c24e1a3eb2
7
- data.tar.gz: bb24997165d3fd3967413046a87cc76c7b5b6264172f1bee0e8d216dde6c0a443807cf54639991c888a037f272448328ca0705da61200f6867ccb6d40fb13dd7
6
+ metadata.gz: b1cc1fb08afc2003af11489e8ffae2453049769603e1d540492f063572aeccf7058a575db2e9183678b764efc961a254dab64d49af7495e9ce767e12d2fc3810
7
+ data.tar.gz: edd5aada155f93a764849aad2d7e25e6be61a4a0416018277745d7e5a6b1b9f6eca7f18c0b7a6dc3730b93082efb8dab9234e2be22eac04f2cc57ffc9a89d380
@@ -91,6 +91,125 @@ module Scoutui::Base
91
91
  rc
92
92
  end
93
93
 
94
+
95
+ # e : Hash : Command stanza from YML
96
+ def self.swtich_frame(drv, e)
97
+ if e.is_a?(Hash) && e.has_key?('page') && e['page'].has_key?('frames')
98
+ puts __FILE__ + (__LINE__).to_s + " frames => #{e['page']['frames']}";
99
+
100
+ frames=e['page']['frames']
101
+ frame_list=frames.split(/(frame\(.*\))\.(?=[\w])/)
102
+ frame_list.each do |_f|
103
+
104
+
105
+ if !_f.empty?
106
+ _id = _f.match(/frame\((.*)\)/)[1]
107
+
108
+ puts __FILE__ + (__LINE__).to_s + " switch_to.frame #{_id}"
109
+
110
+ drv.switch_to.frame(_id.to_s.strip)
111
+ end
112
+
113
+ end
114
+
115
+ end
116
+ end
117
+
118
+ def self.findElement(drv, _locator, _frames, _timeout=nil)
119
+
120
+ if Scoutui::Commands::Utils.instance.isFrameSearch?
121
+ hits = Scoutui::Base::QBrowser.frame_getObject(drv, _locator, _timeout)
122
+
123
+ puts __FILE__ + (__LINE__).to_s + " hits => #{hits.class} : #{hits}"
124
+ if hits.is_a?(Array) && !hits.empty?
125
+ obj=hits[0]
126
+ elsif hits.is_a?(Selenium::WebDriver::Element)
127
+ obj=hits
128
+ end
129
+
130
+ else
131
+ obj = Scoutui::Base::QBrowser.getObject(@drv, _locator, _timeout)
132
+ end
133
+
134
+
135
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " findElement(#{_frames}, #{_locator}) => #{obj}"
136
+ obj
137
+
138
+ end
139
+
140
+ def self.frame_getObject(drv, _locator, _timeout=nil)
141
+
142
+ puts __FILE__ + (__LINE__).to_s + " frame_getObject : #{_locator}"
143
+
144
+ rc = Array.new()
145
+
146
+ frames = drv.find_elements(:xpath, '//iframe')
147
+
148
+ if frames.size == 0
149
+ frames = drv.find_elements(:xpath, '//frame')
150
+ end
151
+
152
+ if frames.size > 0
153
+ rc.concat frames
154
+ end
155
+
156
+
157
+ # _obj = drv.find_elements(:xpath, _locator)
158
+ _obj = getObject(drv, _locator, _timeout)
159
+
160
+ puts __FILE__ + (__LINE__).to_s + " frames => #{frames} : #{_obj}"
161
+
162
+ if _obj.nil? || (_obj.is_a?(Array) && _obj.empty?)
163
+
164
+ for i in 0 .. (frames.size - 1)
165
+
166
+ begin
167
+
168
+ _tag = frames[i].attribute('name')
169
+
170
+ if _tag.empty?
171
+ _tag = frames[i].attribute('id')
172
+ end
173
+
174
+ if _tag.empty?
175
+ _tag = i
176
+ end
177
+
178
+
179
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " Process frame[#{i}] : #{_tag}"
180
+
181
+ drv.switch_to.frame _tag
182
+
183
+ _hits = frame_getObject(drv, _locator, 3)
184
+ rescue => ex
185
+ Scoutui::Logger::LogMgr.instance.debug "Error during processing: #{$!}"
186
+ Scoutui::Logger::LogMgr.instance.debug "Backtrace:\n\t#{ex.backtrace.join("\n\t")}"
187
+ end
188
+
189
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " hits => #{_hits}"
190
+
191
+ if _hits.is_a?(Array) && _hits.size > 0
192
+ _obj=_hits[0]
193
+
194
+ break
195
+ elsif _hits.is_a?(Selenium::WebDriver::Element)
196
+ _obj = _hits
197
+ break
198
+ end
199
+
200
+ drv.switch_to.parent_frame
201
+
202
+ end
203
+
204
+ end
205
+
206
+
207
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " _obj => #{_obj}"
208
+
209
+ _obj
210
+
211
+ end
212
+
94
213
  # http://stackoverflow.com/questions/15164742/combining-implicit-wait-and-explicit-wait-together-results-in-unexpected-wait-ti#answer-15174978
95
214
  def self.getObject(drv, obj, _timeout=nil)
96
215
 
@@ -446,7 +446,7 @@ module Scoutui::Base
446
446
 
447
447
  # Check if the verification is a "windows.*" verification
448
448
 
449
- if !xpath.match(/window[s]\.length\s*\(\d+\)/).nil?
449
+ if !xpath.match(/^\*window[s]\.length\s*\(\d+\)/).nil?
450
450
  _expected_length=xpath.match(/window[s]\.length\s*\((.*)\)/i)[1].to_s
451
451
 
452
452
  Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + "\tExpect window.length is #{_expected_length}"
@@ -682,6 +682,10 @@ module Scoutui::Base
682
682
  _region = e[STEP_KEY]["region"]
683
683
  _reqid = e[STEP_KEY]["reqid"]
684
684
  _execute_when = e[STEP_KEY]["execute_when"]
685
+ _use_frames = e[STEP_KEY]["frames"]
686
+
687
+
688
+ Scoutui::Commands::Utils.instance.reset(e)
685
689
 
686
690
  if e[STEP_KEY].has_key?("timeout")
687
691
  Scoutui::Commands::Utils.instance.setTimeout(e[STEP_KEY]["timeout"])
@@ -39,25 +39,14 @@ module Scoutui::Commands
39
39
 
40
40
  end
41
41
 
42
- def execute(drv)
42
+ def execute(drv, e=nil)
43
43
  @drv=drv if !drv.nil?
44
44
 
45
45
  _req = Scoutui::Utils::TestUtils.instance.getReq()
46
+
46
47
  _locator = @cmd.match(/click\s*\((.*)\)/)[1].to_s.strip
47
48
  Scoutui::Logger::LogMgr.instance.command.info __FILE__ + (__LINE__).to_s + " clickObject => #{_locator}"
48
49
 
49
- # _vars = _locator.scan(/(\$\{.*?\})/)
50
- # _vars.each do | _v|
51
- # if _v.length==1
52
- #
53
- # _u = Scoutui::Base::UserVars.instance.get(_v[0].to_s)
54
- # puts __FILE__ + (__LINE__).to_s + " Normalize(#{_v}) => #{_u}"
55
- #
56
- # _locator.gsub!(_v[0].to_s, _u)
57
- # end
58
- #
59
- # end
60
-
61
50
 
62
51
  # _locator = Scoutui::Base::UserVars.instance.get(_locator)
63
52
  _locator = Scoutui::Base::UserVars.instance.normalize(_locator)
@@ -67,9 +56,36 @@ module Scoutui::Commands
67
56
  _clicked=false
68
57
 
69
58
  begin
70
- obj = Scoutui::Base::QBrowser.getObject(@drv, _locator, Scoutui::Commands::Utils.instance.getTimeout)
59
+
60
+ # _frames = Scoutui::Base::QBrowser.getObjectx(@drv, _locator, Scoutui::Commands::Utils.instance.getTimeout)
61
+
62
+ if false
63
+
64
+ if e.is_a?(Hash) && e.has_key?('page') && e['page'].has_key?('frames')
65
+ puts __FILE__ + (__LINE__).to_s + " frames => #{e['page']['frames']}";
66
+ frames=e['page']['frames']
67
+ frame_list=frames.split(/(frame\(.*\))\.(?=[\w])/)
68
+ frame_list.each do |_f|
71
69
 
72
70
 
71
+ if !_f.empty?
72
+ _id = _f.match(/frame\((.*)\)/)[1]
73
+
74
+ puts __FILE__ + (__LINE__).to_s + " switch_to.frame #{_id}"
75
+
76
+ @drv.switch_to.frame(_id.to_s.strip)
77
+ end
78
+
79
+ end
80
+ end
81
+
82
+ obj = Scoutui::Base::QBrowser.getObject(@drv, _locator, Scoutui::Commands::Utils.instance.getTimeout)
83
+
84
+
85
+ end
86
+
87
+ obj = Scoutui::Base::QBrowser.findElement(@drv, _locator, Scoutui::Commands::Utils.instance.getFrameSearch(), Scoutui::Commands::Utils.instance.getTimeout)
88
+
73
89
 
74
90
  if obj
75
91
 
@@ -83,6 +99,10 @@ module Scoutui::Commands
83
99
  }
84
100
 
85
101
  if isDisplayed
102
+
103
+ isEnabled = wait.until { obj.enabled? }
104
+
105
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " obj is enabled : #{isEnabled}"
86
106
  obj.click
87
107
  _clicked=true
88
108
 
@@ -98,7 +118,7 @@ module Scoutui::Commands
98
118
  end
99
119
 
100
120
  rescue => ex
101
- Scoutui::Logger::LogMgr.instance.warn "Error during processing: #{$!}"
121
+ Scoutui::Logger::LogMgr.instance.warn "Error during processing: #{ex}"
102
122
  Scoutui::Logger::LogMgr.instance.warn "Backtrace:\n\t#{ex.backtrace.join("\n\t")}"
103
123
  end
104
124
 
@@ -9,10 +9,19 @@ module Scoutui::Commands
9
9
  attr_accessor :locator
10
10
  attr_accessor :executed
11
11
  attr_accessor :executed_result
12
+ attr_accessor :stanza
12
13
 
13
14
  def initialize(_cmd, _drv=nil)
14
15
  Scoutui::Logger::LogMgr.instance.commands.debug __FILE__ + (__LINE__).to_s + " Command.init: #{_cmd.to_s}"
16
+
17
+
15
18
  @cmd=_cmd
19
+
20
+ if _cmd.is_a?(Hash) && _cmd.has_key?('page') && _cmd['page'].has_key?('action')
21
+ @stanza = _cmd
22
+ @cmd=_cmd['page']['action']
23
+ end
24
+
16
25
  @rc=nil
17
26
  @drv=_drv
18
27
  @locator=nil
@@ -21,7 +21,7 @@ module Scoutui::Commands
21
21
 
22
22
 
23
23
  def self.processCommand(_action, e, my_driver)
24
- Scoutui::Logger::LogMgr.instance.commands.debug __FILE__ + (__LINE__).to_s + " enter [processCommand(#{_action})"
24
+ Scoutui::Logger::LogMgr.instance.commands.debug __FILE__ + (__LINE__).to_s + " enter [processCommand(#{_action}, #{e})"
25
25
 
26
26
  _aborted=false
27
27
  _cmd=nil
@@ -36,6 +36,11 @@ module Scoutui::Commands
36
36
 
37
37
  _c=nil
38
38
 
39
+ my_driver.switch_to.default_content
40
+
41
+
42
+
43
+
39
44
  if Scoutui::Commands::Utils.instance.isPause?(_action)
40
45
  _cmd='pause'
41
46
  _c = Scoutui::Commands::Pause.new(nil)
@@ -47,7 +52,7 @@ module Scoutui::Commands
47
52
  elsif Scoutui::Commands::Utils.instance.isClick?(_action)
48
53
  _cmd='Click'
49
54
  _c = Scoutui::Commands::ClickObject.new(_action)
50
- _c.execute(my_driver)
55
+ _c.execute(my_driver, e)
51
56
 
52
57
  if e["page"].has_key?('then')
53
58
  Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " then => #{e['page']['then]']}"
@@ -58,6 +63,11 @@ module Scoutui::Commands
58
63
  _c = Scoutui::Commands::JsAlert::ExistsAlert.new(_action)
59
64
  rc=_c.execute(my_driver)
60
65
 
66
+ elsif Scoutui::Commands::Utils.instance.isFrame?(_action)
67
+ _cmd='IsFrame'
68
+ _c = Scoutui::Commands::SwitchFrame.new(_action)
69
+ rc=_c.execute(my_driver, e)
70
+
61
71
  elsif Scoutui::Commands::Utils.instance.isGetAlert?(_action)
62
72
  _cmd='GetAlert'
63
73
  _c = Scoutui::Commands::ExistsAlert.new(_action)
@@ -71,7 +81,7 @@ module Scoutui::Commands
71
81
  elsif Scoutui::Commands::Utils.instance.isSelect?(_action)
72
82
  _cmd='Select'
73
83
  _c = Scoutui::Commands::SelectObject.new(_action)
74
- _c.execute(my_driver)
84
+ _c.execute(my_driver, e)
75
85
 
76
86
  elsif Scoutui::Commands::Utils.instance.isFillForm?(_action)
77
87
 
@@ -6,7 +6,9 @@ module Scoutui::Commands
6
6
 
7
7
  class SelectObject < Command
8
8
 
9
- def execute(drv)
9
+ def execute(drv, e=nil)
10
+
11
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " SelectObject.execute(#{e})"
10
12
  @drv=drv if !drv.nil?
11
13
 
12
14
  _req = Scoutui::Utils::TestUtils.instance.getReq()
@@ -23,7 +25,54 @@ module Scoutui::Commands
23
25
 
24
26
  Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + "Process SELECT #{_val} into #{_xpath}" if Scoutui::Utils::TestUtils.instance.isDebug?
25
27
 
26
- obj = Scoutui::Base::QBrowser.getObject(@drv, _xpath, Scoutui::Commands::Utils.instance.getTimeout)
28
+
29
+ if e.is_a?(Hash) && e.has_key?('page') && e['page'].has_key?('frames')
30
+ puts __FILE__ + (__LINE__).to_s + " frames => #{e['page']['frames']}";
31
+
32
+
33
+ if false
34
+
35
+ frames=e['page']['frames']
36
+ frame_list=frames.split(/(frame\(.*\))\.(?=[\w])/)
37
+ frame_list.each do |_f|
38
+
39
+
40
+ if !_f.empty?
41
+ _id = _f.match(/frame\((.*)\)/)[1]
42
+
43
+ puts __FILE__ + (__LINE__).to_s + " switch_to.frame #{_id}"
44
+
45
+ @drv.switch_to.frame(_id.to_s.strip)
46
+ end
47
+
48
+ end
49
+
50
+
51
+ end
52
+
53
+ end
54
+
55
+
56
+ # obj = Scoutui::Base::QBrowser.getObject(@drv, _xpath, Scoutui::Commands::Utils.instance.getTimeout)
57
+
58
+ if false
59
+ if Scoutui::Commands::Utils.instance.isFrameSearch?
60
+ hits = Scoutui::Base::QBrowser.frame_getObject(@drv, _xpath, Scoutui::Commands::Utils.instance.getTimeout)
61
+
62
+ puts __FILE__ + (__LINE__).to_s + " hits => #{hits.class} : #{hits}"
63
+ if hits.is_a?(Array) && !hits.empty?
64
+ obj=hits[0]
65
+ elsif hits.is_a?(Selenium::WebDriver::Element)
66
+ obj=hits
67
+ end
68
+
69
+ else
70
+ obj = Scoutui::Base::QBrowser.getObject(@drv, _xpath, Scoutui::Commands::Utils.instance.getTimeout)
71
+ end
72
+ end
73
+
74
+ obj = Scoutui::Base::QBrowser.findElement(@drv, _xpath, Scoutui::Commands::Utils.instance.getFrameSearch(), Scoutui::Commands::Utils.instance.getTimeout)
75
+
27
76
 
28
77
  if !obj.nil? && obj.tag_name.downcase.match(/(select)/)
29
78
 
@@ -38,8 +87,9 @@ module Scoutui::Commands
38
87
  end
39
88
  end
40
89
 
41
- rescue
42
- ;
90
+ rescue => ex
91
+ Scoutui::Logger::LogMgr.instance.debug "Error during processing: #{$!}"
92
+ Scoutui::Logger::LogMgr.instance.debug "Backtrace:\n\t#{ex.backtrace.join("\n\t")}"
43
93
  end
44
94
 
45
95
  Testmgr::TestReport.instance.getReq(_req).testcase('select').add(!obj.nil?, "Verify object to select exists #{_xpath} : #{obj.class.to_s}")
@@ -0,0 +1,127 @@
1
+
2
+ module Scoutui::Commands
3
+
4
+ class SwitchFrame < Command
5
+
6
+ def execute(drv, _e=nil)
7
+
8
+ @drv=drv if !drv.nil?
9
+
10
+ _locator = @cmd.match(/frame\s*\((.*)\)/)[1].to_s.strip
11
+
12
+
13
+ puts __FILE__ + (__LINE__).to_s + " frame : #{_locator}"
14
+
15
+ rc = Array.new()
16
+
17
+ frames = @drv.find_elements(:xpath, '//iframe')
18
+
19
+ if frames.size == 0
20
+ frames = @drv.find_elements(:xpath, '//frame')
21
+ end
22
+
23
+ if frames.size > 0
24
+ rc.concat frames
25
+ end
26
+
27
+
28
+ _obj = @drv.find_elements(:xpath, _locator)
29
+
30
+ puts __FILE__ + (__LINE__).to_s + " frames => #{frames} : #{_obj}"
31
+
32
+ if _obj.empty?
33
+
34
+ for i in 0 .. (frames.size - 1)
35
+
36
+
37
+ _name = frames[i].attribute('name')
38
+ puts __FILE__ + (__LINE__).to_s + " Process frame[#{i}] : #{frames[i].attribute('name')}"
39
+
40
+ @drv.switch_to.frame _name
41
+ # @drv.switch_to.frame i
42
+
43
+ _hits = execute(drv, _e)
44
+
45
+ puts __FILE__ + (__LINE__).to_s + " hits => #{_hits}"
46
+
47
+
48
+ @drv.switch_to.parent_frame
49
+
50
+ if _hits.size > 0
51
+ _obj=_hits
52
+
53
+ break
54
+ end
55
+
56
+ end
57
+
58
+ end
59
+
60
+
61
+ puts __FILE__ + (__LINE__).to_s + " _obj => #{_obj}"
62
+
63
+ _obj
64
+
65
+ end
66
+
67
+
68
+
69
+ # Recurses into all iframe and/or frame tags
70
+ def xxexecute(drv, _e=nil)
71
+
72
+ @drv=drv if !drv.nil?
73
+
74
+ _locator = @cmd.match(/frame\s*\((.*)\)/)[1].to_s.strip
75
+
76
+
77
+ puts __FILE__ + (__LINE__).to_s + " frame : #{_locator}"
78
+
79
+ rc = Array.new()
80
+
81
+ frames = @drv.find_elements(:xpath, '//iframe')
82
+
83
+ if frames.size == 0
84
+ frames = @drv.find_elements(:xpath, '//frame')
85
+ end
86
+
87
+ if frames.size > 0
88
+ rc.concat frames
89
+ end
90
+
91
+
92
+ _obj = @drv.find_elements(:xpath, _locator)
93
+
94
+ puts __FILE__ + (__LINE__).to_s + " frames => #{frames} : #{_obj}"
95
+
96
+ for i in 0 .. (frames.size - 1)
97
+
98
+
99
+ _name = frames[i].attribute('name')
100
+ puts __FILE__ + (__LINE__).to_s + " Process frame[#{i}] : #{frames[i].attribute('name')}"
101
+
102
+ @drv.switch_to.frame _name
103
+ # @drv.switch_to.frame i
104
+
105
+ _hits = execute(drv, _e)
106
+
107
+ puts __FILE__ + (__LINE__).to_s + " hits => #{_hits}"
108
+
109
+ rc.concat _hits if !_hits.empty?
110
+
111
+ @drv.switch_to.parent_frame
112
+
113
+ end
114
+
115
+
116
+ puts __FILE__ + (__LINE__).to_s + " rc => #{rc}"
117
+
118
+ rc
119
+
120
+ end
121
+
122
+
123
+
124
+ end
125
+
126
+
127
+ end
@@ -66,12 +66,12 @@ module Scoutui::Commands
66
66
 
67
67
  Scoutui::Logger::LogMgr.instance.commands.debug __FILE__ + (__LINE__).to_s + "Process TYPE #{_val} into #{_xpath}"
68
68
 
69
- obj = Scoutui::Base::QBrowser.getObject(@drv, _xpath, Scoutui::Commands::Utils.instance.getTimeout)
70
-
69
+ # 5150 obj = Scoutui::Base::QBrowser.getObject(@drv, _xpath, Scoutui::Commands::Utils.instance.getTimeout)
70
+ obj = Scoutui::Base::QBrowser.findElement(@drv, _xpath, Scoutui::Commands::Utils.instance.getFrameSearch(), Scoutui::Commands::Utils.instance.getTimeout)
71
71
 
72
72
  Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " type(#{_val})"
73
73
 
74
- if !obj.nil? && !obj.attribute('type').downcase.match(/(text|password|email)/).nil?
74
+ if !obj.nil? && !obj.attribute('type').downcase.match(/(text|textarea|password|email)/).nil?
75
75
 
76
76
  # Refactor in qbrowser
77
77
 
@@ -10,12 +10,14 @@ module Scoutui::Commands
10
10
  attr_accessor :totalCommands
11
11
  attr_accessor :timeout
12
12
  attr_accessor :hwnds
13
+ attr_accessor :useFrameSearch
13
14
 
14
15
  def initialize
15
16
  @command_list=['pause',
16
17
  'existsAlert',
17
18
  'clickJsAlert',
18
19
  'fillform',
20
+ 'frame',
19
21
  'submitform',
20
22
  'type',
21
23
  'click',
@@ -32,10 +34,45 @@ module Scoutui::Commands
32
34
  @totalCommands[c]=0
33
35
  end
34
36
 
37
+ @useFrameSearch = false
38
+
35
39
  @hwnds = { :current => nil, :previous => nil, :handles => [] }
36
40
  end
37
41
 
38
42
 
43
+ def reset(stanza=nil)
44
+
45
+ setEnableFrameSearch(false)
46
+
47
+ if stanza.is_a?(Hash) && stanza.has_key?('page') && stanza['page'].has_key?('frames')
48
+ puts __FILE__ + (__LINE__).to_s + " frames => #{stanza['page']['frames']}";
49
+
50
+ setEnableFrameSearch(!stanza['page']['frames'].to_s.match(/true/i).nil?)
51
+ end
52
+ end
53
+
54
+ def resetFrameSearch()
55
+ setEnableFrameSearch(false)
56
+ end
57
+
58
+ def setEnableFrameSearch(b)
59
+ Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " setEnabledFrameSearch(#{b})"
60
+ @userFrameSearch=b
61
+ end
62
+
63
+ def getFrameSearch()
64
+ @userFrameSearch
65
+ end
66
+
67
+ def enableFrameSearch()
68
+ Scoutui::Logger::LogMgr.instance.debug "EnableFrameSearch(true)"
69
+ setEnableFrameSearch(true)
70
+ end
71
+
72
+ def isFrameSearch?()
73
+ @userFrameSearch
74
+ end
75
+
39
76
  def isCSS(_locator)
40
77
  rc=nil
41
78
 
@@ -66,6 +103,7 @@ module Scoutui::Commands
66
103
  def setTimeout(_t)
67
104
  @timeout=_t.to_i
68
105
  end
106
+
69
107
  def getTimeout()
70
108
  @timeout.to_i
71
109
  end
@@ -79,6 +117,10 @@ module Scoutui::Commands
79
117
  !_action.match(/(exist[s]*_*alert|existAlert|existsAlert|existsJsAlert|existsJsConfirm|existsJsPrompt)\(/i).nil?
80
118
  end
81
119
 
120
+ def isFrame?(_action)
121
+ _action.match(/^\s*(frame|switchframe|switch_frame)\s*\(/i)
122
+ end
123
+
82
124
  def isVerifyElt?(_action)
83
125
  !_action.match(/(verifyelt|verifyelement)\(/i).nil?
84
126
  end
@@ -131,6 +173,8 @@ module Scoutui::Commands
131
173
  @totalCommands['pause']+=1
132
174
  elsif isExistsAlert?(cmd)
133
175
  @totalCommands['existsAlert']+=1
176
+ elsif isFrame?(cmd)
177
+ @totalCommands['frame']+=1
134
178
  elsif isGetAlert?(cmd)
135
179
  @totalCommands['clickJsAlert']+=1
136
180
  elsif isVerifyElt?(cmd)
@@ -1,3 +1,3 @@
1
1
  module Scoutui
2
- VERSION = "2.0.2"
2
+ VERSION = "2.0.3.pre"
3
3
  end
data/scoutui.gemspec CHANGED
@@ -32,5 +32,5 @@ Gem::Specification.new do |spec|
32
32
  spec.add_development_dependency "faker"
33
33
  spec.add_development_dependency "logging"
34
34
  spec.add_development_dependency "sauce_whisk"
35
- spec.add_development_dependency "testmgr", "0.3.1.pre"
35
+ spec.add_development_dependency "testmgr", "0.3.2.pre"
36
36
  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.2
4
+ version: 2.0.3.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-04-22 00:00:00.000000000 Z
12
+ date: 2016-05-02 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -157,14 +157,14 @@ dependencies:
157
157
  requirements:
158
158
  - - '='
159
159
  - !ruby/object:Gem::Version
160
- version: 0.3.1.pre
160
+ version: 0.3.2.pre
161
161
  type: :development
162
162
  prerelease: false
163
163
  version_requirements: !ruby/object:Gem::Requirement
164
164
  requirements:
165
165
  - - '='
166
166
  - !ruby/object:Gem::Version
167
- version: 0.3.1.pre
167
+ version: 0.3.2.pre
168
168
  description: Leverage a fully functional e2e framework that's integrated with Applitool's
169
169
  Eyes and Sauce Labs!
170
170
  email:
@@ -238,6 +238,7 @@ files:
238
238
  - lib/scoutui/commands/select_window.rb
239
239
  - lib/scoutui/commands/strategy.rb
240
240
  - lib/scoutui/commands/submit_form.rb
241
+ - lib/scoutui/commands/switch_frame.rb
241
242
  - lib/scoutui/commands/type.rb
242
243
  - lib/scoutui/commands/update_url.rb
243
244
  - lib/scoutui/commands/utils.rb
@@ -265,9 +266,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
265
266
  version: '0'
266
267
  required_rubygems_version: !ruby/object:Gem::Requirement
267
268
  requirements:
268
- - - ">="
269
+ - - ">"
269
270
  - !ruby/object:Gem::Version
270
- version: '0'
271
+ version: 1.3.1
271
272
  requirements: []
272
273
  rubyforge_project:
273
274
  rubygems_version: 2.6.2