Package not found. Please check the package name and try again.
scoutui 2.0.3.29.pre → 2.0.3.30.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 +4 -4
- data/examples/yaml/dut.yml +5 -0
- data/examples/yaml/ex_yaml.rb +18 -0
- data/lib/scoutui/base/assertions.rb +143 -12
- data/lib/scoutui/base/visual_test_framework.rb +16 -4
- data/lib/scoutui/version.rb +1 -1
- data/scoutui.gemspec +1 -1
- metadata +6 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: bec2331d9973d87b6ebde0aa7d385835cd64d28e
|
|
4
|
+
data.tar.gz: 1773cec8ac473fac69be4a81cd86ee4b3a05823c
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: f0bb080dd63f6f999f572991459bc34dafa68b5f471b5b1e9e2192df7464a7657137388c4c424bd7461426bba572fd6d02b87566a5f2c2346bf5ac4e9aaa5ba2
|
|
7
|
+
data.tar.gz: c79d401e27bd6b1d506f3b74e4aac4786ed0328ecfbe03389baf126692dfc6c87a7014a00ff002752f94bc754729702645951816a1d172c73982790b095d34b3
|
|
@@ -9,16 +9,86 @@ module Scoutui::Base
|
|
|
9
9
|
include Singleton
|
|
10
10
|
|
|
11
11
|
attr_accessor :drv
|
|
12
|
+
attr_accessor :assertionTypes
|
|
12
13
|
|
|
14
|
+
def initialize
|
|
15
|
+
@assertionTypes=[
|
|
16
|
+
{ :cmd => 'isEnabled', :pattern => '^\s*[!]*isEnabled\((.*)\)\s*$'},
|
|
17
|
+
{ :cmd => 'visible', :pattern => '^\s*[!]*visible\((.*)\)\s*$'}
|
|
18
|
+
]
|
|
19
|
+
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
def isValidAssertType(_a)
|
|
24
|
+
|
|
25
|
+
puts __FILE__ + (__LINE__).to_s + " isValidAssertionType(#{_a})"
|
|
26
|
+
@assertionTypes.each do |e|
|
|
27
|
+
_p=e[:pattern]
|
|
28
|
+
|
|
29
|
+
puts __FILE__ + (__LINE__).to_s + " == verify #{_p} =="
|
|
30
|
+
|
|
31
|
+
if _a.match(/#{_p}/)
|
|
32
|
+
return e
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
puts _FILE__ + (__LINE__).to_s + " => unknown command : #{_a}"
|
|
37
|
+
return nil
|
|
38
|
+
end
|
|
13
39
|
|
|
14
40
|
def setDriver(_drv)
|
|
15
41
|
@drv=_drv
|
|
16
42
|
end
|
|
17
43
|
|
|
44
|
+
|
|
45
|
+
# _a : frame(xyz).frame(123), <locator>
|
|
46
|
+
def _parseFrameLoc(_cmd, _a)
|
|
47
|
+
rc=nil
|
|
48
|
+
|
|
49
|
+
begin
|
|
50
|
+
_fMatch=nil
|
|
51
|
+
|
|
52
|
+
_pattern='(frame\(.*\)[\.frame\(.*\)]*)\s*,\s*(.*)\s*$'
|
|
53
|
+
|
|
54
|
+
c=_a.match(/^\s*([!]*#{_cmd})\((.*)\)\s*$/)
|
|
55
|
+
|
|
56
|
+
if c
|
|
57
|
+
cmd = c[1].strip
|
|
58
|
+
_fMatch = c[2].match(/#{_pattern}/)
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
if _fMatch
|
|
63
|
+
f=c[2].strip
|
|
64
|
+
|
|
65
|
+
puts __FILE__ + (__LINE__).to_s + " arg: #{f}"
|
|
66
|
+
|
|
67
|
+
rc = { 'cmd' => cmd,
|
|
68
|
+
'frame' => _fMatch[1].strip,
|
|
69
|
+
'locator' => _fMatch[2].strip }
|
|
70
|
+
elsif c
|
|
71
|
+
rc = {
|
|
72
|
+
'cmd' => cmd,
|
|
73
|
+
'locator' => c[2].strip
|
|
74
|
+
}
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
rescue => ex
|
|
78
|
+
;
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
rc
|
|
82
|
+
end
|
|
83
|
+
|
|
18
84
|
def isEnabledCmd?(_a)
|
|
19
85
|
_a.is_a?(String) && _a.match(/^\s*[!]*isEnabled\((.*)\)\s*$/i)
|
|
20
86
|
end
|
|
21
87
|
|
|
88
|
+
def isEnabledFrameCmd?(_a)
|
|
89
|
+
_parseFrameLoc('isEnabled', _a)
|
|
90
|
+
end
|
|
91
|
+
|
|
22
92
|
def isRoleCmd?(_a)
|
|
23
93
|
_a.is_a?(String) && _a.match(/^\s*(isrole|role)\(.*\)\s*/i)
|
|
24
94
|
end
|
|
@@ -41,6 +111,35 @@ module Scoutui::Base
|
|
|
41
111
|
end
|
|
42
112
|
|
|
43
113
|
|
|
114
|
+
def isVisibleFrameCmd?(_a)
|
|
115
|
+
rc=nil
|
|
116
|
+
|
|
117
|
+
puts __FILE__ + (__LINE__).to_s + " [isVisibleFrameCmd]: #{_a}"
|
|
118
|
+
|
|
119
|
+
begin
|
|
120
|
+
if isVisibleCmd?(_a)
|
|
121
|
+
|
|
122
|
+
_pattern='(frame\(.*\)[\.frame\(.*\)]*)\s*,\s*(.*)\s*$'
|
|
123
|
+
|
|
124
|
+
f=_a.match(/^\s*[!]*visible\((.*)\)\s*$/)[1].strip
|
|
125
|
+
|
|
126
|
+
puts __FILE__ + (__LINE__).to_s + " arg: #{f}"
|
|
127
|
+
rc = { 'frame' => f.match(/#{_pattern}/)[1].strip,
|
|
128
|
+
'locator' => f.match(/#{_pattern}/)[2].strip }
|
|
129
|
+
|
|
130
|
+
else
|
|
131
|
+
puts "=> NOT vsibleCmd"
|
|
132
|
+
end
|
|
133
|
+
|
|
134
|
+
rescue => ex
|
|
135
|
+
;
|
|
136
|
+
end
|
|
137
|
+
|
|
138
|
+
puts __FILE__ + (__LINE__).to_s + " isVisibleCmd?(#{_a}) : #{rc}"
|
|
139
|
+
rc
|
|
140
|
+
end
|
|
141
|
+
|
|
142
|
+
|
|
44
143
|
def isTitle(my_driver, _execute_when)
|
|
45
144
|
|
|
46
145
|
rc=nil
|
|
@@ -105,21 +204,42 @@ module Scoutui::Base
|
|
|
105
204
|
def isEnabled?(my_driver, _execute_when)
|
|
106
205
|
rc=true
|
|
107
206
|
|
|
108
|
-
|
|
109
|
-
|
|
207
|
+
# _locator = _execute_when.match(/^\s*[!]*isEnabled\((.*)\)\s*$/i)[1].to_s
|
|
208
|
+
_locator=nil
|
|
209
|
+
_obj=nil
|
|
110
210
|
|
|
111
|
-
|
|
211
|
+
_t = isEnabledFrameCmd?(_execute_when)
|
|
112
212
|
|
|
113
|
-
|
|
213
|
+
if !_t.nil?
|
|
214
|
+
_locator = _t['locator']
|
|
114
215
|
|
|
115
|
-
|
|
216
|
+
if _t.has_key?('frame')
|
|
217
|
+
Scoutui::Commands::Utils.instance.setEnableFrameSearch(_t['frame'])
|
|
218
|
+
end
|
|
116
219
|
|
|
117
|
-
|
|
118
|
-
Scoutui::
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
220
|
+
Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " isChecked => #{_locator}"
|
|
221
|
+
_obj = Scoutui::Base::QBrowser.findElement(my_driver, _locator, Scoutui::Commands::Utils.instance.getFrameSearch(), Scoutui::Commands::Utils.instance.getTimeout)
|
|
222
|
+
else
|
|
223
|
+
Scoutui::Logger::LogMgr.instance.warn __FILE__ + (__LINE__).to_s + " invalid visible cmd: #{_execute_when}"
|
|
224
|
+
end
|
|
225
|
+
|
|
226
|
+
|
|
227
|
+
if _obj.is_a?(Selenium::WebDriver::Element) && _t.has_key?('cmd') && !_t['cmd'].empty?
|
|
228
|
+
|
|
229
|
+
_enabled = _obj.enabled?
|
|
230
|
+
|
|
231
|
+
puts __FILE__ + (__LINE__).to_s + " _obj.enabled? => #{_enabled}"
|
|
232
|
+
|
|
233
|
+
if _execute_when.match(/^\s*!isEnabled/i) && _enabled
|
|
234
|
+
Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " !isEnabled(#{_locator}) : false"
|
|
235
|
+
rc=false
|
|
236
|
+
elsif _execute_when.match(/^\s*isEnabled/i) && !_enabled
|
|
237
|
+
Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " isEnabled(#{_locator}) : false"
|
|
238
|
+
rc=false
|
|
239
|
+
end
|
|
240
|
+
|
|
241
|
+
else
|
|
242
|
+
Scoutui::Logger::LogMgr.instance.warn __FILE__ + (__LINE__).to_s + " Element not found: #{_execute_when}"
|
|
123
243
|
end
|
|
124
244
|
|
|
125
245
|
Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " isEnabled?(#{_execute_when}) => #{rc}"
|
|
@@ -154,7 +274,18 @@ module Scoutui::Base
|
|
|
154
274
|
rc=true
|
|
155
275
|
|
|
156
276
|
begin
|
|
157
|
-
|
|
277
|
+
|
|
278
|
+
_t = isVisibleFrameCmd?(_execute_when)
|
|
279
|
+
|
|
280
|
+
if !_t.nil?
|
|
281
|
+
_locator = _t['locator']
|
|
282
|
+
Scoutui::Commands::Utils.instance.setEnableFrameSearch(_t['frame'])
|
|
283
|
+
elsif isVisibleCmd?(_execute_when)
|
|
284
|
+
_locator = _execute_when.match(/^\s*[!]*visible\((.*)\)\s*$/i)[1].to_s
|
|
285
|
+
else
|
|
286
|
+
Scoutui::Logger::LogMgr.instance.warn __FILE__ + (__LINE__).to_s + " invalid visible cmd: #{_execute_when}"
|
|
287
|
+
end
|
|
288
|
+
|
|
158
289
|
Scoutui::Logger::LogMgr.instance.debug __FILE__ + (__LINE__).to_s + " visible => #{_locator}"
|
|
159
290
|
|
|
160
291
|
_obj = Scoutui::Base::QBrowser.findElement(my_driver, _locator, Scoutui::Commands::Utils.instance.getFrameSearch(), Scoutui::Commands::Utils.instance.getTimeout)
|
|
@@ -333,12 +333,22 @@ module Scoutui::Base
|
|
|
333
333
|
|
|
334
334
|
_rc=nil
|
|
335
335
|
|
|
336
|
-
|
|
337
|
-
|
|
336
|
+
|
|
337
|
+
_assertType=Scoutui::Base::Assertions.instance.isValidAssertType(_a)
|
|
338
|
+
|
|
339
|
+
if !_assertType.nil?
|
|
340
|
+
|
|
341
|
+
|
|
342
|
+
if _assertType[:cmd]=='isEnabled' # Scoutui::Base::Assertions.instance.isEnabledCmd?(_a)
|
|
343
|
+
_rc=Scoutui::Base::Assertions.instance.isEnabled?(my_driver, _a)
|
|
344
|
+
elsif _assertType[:cmd]=='visible'
|
|
345
|
+
_rc=Scoutui::Base::Assertions.instance.isVisible?(my_driver, _a)
|
|
346
|
+
end
|
|
347
|
+
|
|
338
348
|
elsif Scoutui::Base::Assertions.instance.isRoleCmd?(_a)
|
|
339
349
|
_rc=Scoutui::Base::Assertions.instance.isRole?(_a)
|
|
340
|
-
elsif Scoutui::Base::Assertions.instance.isVisibleCmd?(_a)
|
|
341
|
-
_rc=Scoutui::Base::Assertions.instance.isVisible?(my_driver, _a)
|
|
350
|
+
# elsif Scoutui::Base::Assertions.instance.isVisibleCmd?(_a)
|
|
351
|
+
# _rc=Scoutui::Base::Assertions.instance.isVisible?(my_driver, _a)
|
|
342
352
|
elsif Scoutui::Base::Assertions.instance.isSelectedCmd?(_a)
|
|
343
353
|
_rc=Scoutui::Base::Assertions.instance.isSelected?(my_driver, _a)
|
|
344
354
|
elsif Scoutui::Base::Assertions.instance.isValueCmd?(_a)
|
|
@@ -350,6 +360,8 @@ module Scoutui::Base
|
|
|
350
360
|
if !_rc.nil?
|
|
351
361
|
Scoutui::Logger::LogMgr.instance.asserts.info __FILE__ + (__LINE__).to_s + "Verify #{_a} - #{_rc}"
|
|
352
362
|
Testmgr::TestReport.instance.getReq(_req).get_child('visible_when').add(_rc, "Verify #{_a}")
|
|
363
|
+
|
|
364
|
+
Scoutui::Commands::Utils.instance.resetFrameSearch()
|
|
353
365
|
end
|
|
354
366
|
|
|
355
367
|
end
|
data/lib/scoutui/version.rb
CHANGED
data/scoutui.gemspec
CHANGED
|
@@ -25,7 +25,7 @@ Gem::Specification.new do |spec|
|
|
|
25
25
|
spec.add_development_dependency "bundler"
|
|
26
26
|
spec.add_development_dependency "rake"
|
|
27
27
|
spec.add_development_dependency "rspec"
|
|
28
|
-
spec.add_development_dependency "eyes_selenium", ">= 2.
|
|
28
|
+
spec.add_development_dependency "eyes_selenium", ">= 2.33"
|
|
29
29
|
spec.add_development_dependency "selenium-webdriver", ">= 2.53.4"
|
|
30
30
|
spec.add_development_dependency "httparty", ">=0.13.7"
|
|
31
31
|
spec.add_development_dependency "json", ">= 1.8.3"
|
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.3.
|
|
4
|
+
version: 2.0.3.30.pre
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Peter Kim
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2016-07-
|
|
11
|
+
date: 2016-07-27 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|
|
@@ -58,14 +58,14 @@ dependencies:
|
|
|
58
58
|
requirements:
|
|
59
59
|
- - ">="
|
|
60
60
|
- !ruby/object:Gem::Version
|
|
61
|
-
version: '2.
|
|
61
|
+
version: '2.33'
|
|
62
62
|
type: :development
|
|
63
63
|
prerelease: false
|
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
|
65
65
|
requirements:
|
|
66
66
|
- - ">="
|
|
67
67
|
- !ruby/object:Gem::Version
|
|
68
|
-
version: '2.
|
|
68
|
+
version: '2.33'
|
|
69
69
|
- !ruby/object:Gem::Dependency
|
|
70
70
|
name: selenium-webdriver
|
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -228,6 +228,8 @@ files:
|
|
|
228
228
|
- examples/eyes/diff.rb
|
|
229
229
|
- examples/eyes/ex2.rb
|
|
230
230
|
- examples/eyes_results/response.json
|
|
231
|
+
- examples/yaml/dut.yml
|
|
232
|
+
- examples/yaml/ex_yaml.rb
|
|
231
233
|
- lib/scoutui.rb
|
|
232
234
|
- lib/scoutui/appmodel/q_model.rb
|
|
233
235
|
- lib/scoutui/base/assertions.rb
|