testcentricity_web 3.2.25 → 4.0.2
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/CHANGELOG.md +43 -0
- data/README.md +66 -33
- data/lib/testcentricity_web/browser_helper.rb +21 -13
- data/lib/testcentricity_web/data_objects/data_objects_helper.rb +34 -5
- data/lib/testcentricity_web/data_objects/environment.rb +30 -5
- data/lib/testcentricity_web/data_objects/excel_helper.rb +1 -25
- data/lib/testcentricity_web/version.rb +1 -1
- data/lib/testcentricity_web/web_core/page_object.rb +1 -93
- data/lib/testcentricity_web/web_core/page_objects_helper.rb +1 -7
- data/lib/testcentricity_web/web_core/page_section.rb +0 -91
- data/lib/testcentricity_web/web_core/webdriver_helper.rb +100 -41
- data/lib/testcentricity_web/web_elements/checkbox.rb +1 -15
- data/lib/testcentricity_web/web_elements/file_field.rb +1 -1
- data/lib/testcentricity_web/web_elements/radio.rb +1 -1
- data/lib/testcentricity_web/web_elements/select_list.rb +0 -52
- data/lib/testcentricity_web/web_elements/ui_elements_helper.rb +5 -14
- data/lib/testcentricity_web/world_extensions.rb +1 -1
- data/lib/testcentricity_web.rb +1 -11
- metadata +6 -18
- data/Gemfile.lock +0 -114
- data/lib/testcentricity_web/web_elements/cell_button.rb +0 -8
- data/lib/testcentricity_web/web_elements/cell_checkbox.rb +0 -38
- data/lib/testcentricity_web/web_elements/cell_element.rb +0 -69
- data/lib/testcentricity_web/web_elements/cell_image.rb +0 -8
- data/lib/testcentricity_web/web_elements/cell_radio.rb +0 -31
- data/lib/testcentricity_web/web_elements/list_button.rb +0 -8
- data/lib/testcentricity_web/web_elements/list_checkbox.rb +0 -38
- data/lib/testcentricity_web/web_elements/list_element.rb +0 -61
- data/lib/testcentricity_web/web_elements/list_radio.rb +0 -31
- data/lib/testcentricity_web/web_elements/siebel_open_ui_helper.rb +0 -15
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: testcentricity_web
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 4.0.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- A.J. Mrozinski
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2021-
|
|
11
|
+
date: 2021-12-30 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|
|
@@ -253,7 +253,6 @@ files:
|
|
|
253
253
|
- CHANGELOG.md
|
|
254
254
|
- CODE_OF_CONDUCT.md
|
|
255
255
|
- Gemfile
|
|
256
|
-
- Gemfile.lock
|
|
257
256
|
- LICENSE.md
|
|
258
257
|
- README.md
|
|
259
258
|
- Rakefile
|
|
@@ -274,26 +273,16 @@ files:
|
|
|
274
273
|
- lib/testcentricity_web/web_core/webdriver_helper.rb
|
|
275
274
|
- lib/testcentricity_web/web_elements/audio.rb
|
|
276
275
|
- lib/testcentricity_web/web_elements/button.rb
|
|
277
|
-
- lib/testcentricity_web/web_elements/cell_button.rb
|
|
278
|
-
- lib/testcentricity_web/web_elements/cell_checkbox.rb
|
|
279
|
-
- lib/testcentricity_web/web_elements/cell_element.rb
|
|
280
|
-
- lib/testcentricity_web/web_elements/cell_image.rb
|
|
281
|
-
- lib/testcentricity_web/web_elements/cell_radio.rb
|
|
282
276
|
- lib/testcentricity_web/web_elements/checkbox.rb
|
|
283
277
|
- lib/testcentricity_web/web_elements/file_field.rb
|
|
284
278
|
- lib/testcentricity_web/web_elements/image.rb
|
|
285
279
|
- lib/testcentricity_web/web_elements/label.rb
|
|
286
280
|
- lib/testcentricity_web/web_elements/link.rb
|
|
287
281
|
- lib/testcentricity_web/web_elements/list.rb
|
|
288
|
-
- lib/testcentricity_web/web_elements/list_button.rb
|
|
289
|
-
- lib/testcentricity_web/web_elements/list_checkbox.rb
|
|
290
|
-
- lib/testcentricity_web/web_elements/list_element.rb
|
|
291
|
-
- lib/testcentricity_web/web_elements/list_radio.rb
|
|
292
282
|
- lib/testcentricity_web/web_elements/media.rb
|
|
293
283
|
- lib/testcentricity_web/web_elements/radio.rb
|
|
294
284
|
- lib/testcentricity_web/web_elements/range.rb
|
|
295
285
|
- lib/testcentricity_web/web_elements/select_list.rb
|
|
296
|
-
- lib/testcentricity_web/web_elements/siebel_open_ui_helper.rb
|
|
297
286
|
- lib/testcentricity_web/web_elements/table.rb
|
|
298
287
|
- lib/testcentricity_web/web_elements/textfield.rb
|
|
299
288
|
- lib/testcentricity_web/web_elements/ui_elements_helper.rb
|
|
@@ -305,7 +294,7 @@ homepage: ''
|
|
|
305
294
|
licenses:
|
|
306
295
|
- BSD-3-Clause
|
|
307
296
|
metadata: {}
|
|
308
|
-
post_install_message:
|
|
297
|
+
post_install_message:
|
|
309
298
|
rdoc_options: []
|
|
310
299
|
require_paths:
|
|
311
300
|
- lib
|
|
@@ -321,9 +310,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
321
310
|
version: '0'
|
|
322
311
|
requirements:
|
|
323
312
|
- Capybara, Selenium-WebDriver
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
signing_key:
|
|
313
|
+
rubygems_version: 3.0.9
|
|
314
|
+
signing_key:
|
|
327
315
|
specification_version: 4
|
|
328
316
|
summary: A Page Object and Data Object Model Framework for desktop and mobile web
|
|
329
317
|
testing
|
data/Gemfile.lock
DELETED
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
PATH
|
|
2
|
-
remote: .
|
|
3
|
-
specs:
|
|
4
|
-
testcentricity_web (3.2.25)
|
|
5
|
-
appium_lib
|
|
6
|
-
browserstack-local
|
|
7
|
-
capybara (>= 3.1, < 4)
|
|
8
|
-
childprocess (~> 0.5)
|
|
9
|
-
chronic (= 0.10.2)
|
|
10
|
-
faker
|
|
11
|
-
i18n
|
|
12
|
-
os (~> 1.0)
|
|
13
|
-
selenium-webdriver
|
|
14
|
-
spreadsheet (= 1.1.7)
|
|
15
|
-
test-unit
|
|
16
|
-
virtus
|
|
17
|
-
webdrivers (~> 4.0)
|
|
18
|
-
|
|
19
|
-
GEM
|
|
20
|
-
remote: https://rubygems.org/
|
|
21
|
-
specs:
|
|
22
|
-
addressable (2.7.0)
|
|
23
|
-
public_suffix (>= 2.0.2, < 5.0)
|
|
24
|
-
appium_lib (11.2.0)
|
|
25
|
-
appium_lib_core (~> 4.1)
|
|
26
|
-
nokogiri (~> 1.8, >= 1.8.1)
|
|
27
|
-
tomlrb (~> 1.1)
|
|
28
|
-
appium_lib_core (4.4.1)
|
|
29
|
-
faye-websocket (~> 0.11.0)
|
|
30
|
-
selenium-webdriver (~> 3.14, >= 3.14.1)
|
|
31
|
-
axiom-types (0.1.1)
|
|
32
|
-
descendants_tracker (~> 0.0.4)
|
|
33
|
-
ice_nine (~> 0.11.0)
|
|
34
|
-
thread_safe (~> 0.3, >= 0.3.1)
|
|
35
|
-
browserstack-local (1.3.0)
|
|
36
|
-
capybara (3.35.3)
|
|
37
|
-
addressable
|
|
38
|
-
mini_mime (>= 0.1.3)
|
|
39
|
-
nokogiri (~> 1.8)
|
|
40
|
-
rack (>= 1.6.0)
|
|
41
|
-
rack-test (>= 0.6.3)
|
|
42
|
-
regexp_parser (>= 1.5, < 3.0)
|
|
43
|
-
xpath (~> 3.2)
|
|
44
|
-
childprocess (0.9.0)
|
|
45
|
-
ffi (~> 1.0, >= 1.0.11)
|
|
46
|
-
chronic (0.10.2)
|
|
47
|
-
coercible (1.0.0)
|
|
48
|
-
descendants_tracker (~> 0.0.1)
|
|
49
|
-
concurrent-ruby (1.1.8)
|
|
50
|
-
descendants_tracker (0.0.4)
|
|
51
|
-
thread_safe (~> 0.3, >= 0.3.1)
|
|
52
|
-
equalizer (0.0.11)
|
|
53
|
-
eventmachine (1.2.7)
|
|
54
|
-
faker (2.16.0)
|
|
55
|
-
i18n (>= 1.6, < 2)
|
|
56
|
-
faye-websocket (0.11.0)
|
|
57
|
-
eventmachine (>= 0.12.0)
|
|
58
|
-
websocket-driver (>= 0.5.1)
|
|
59
|
-
ffi (1.15.0)
|
|
60
|
-
i18n (1.8.9)
|
|
61
|
-
concurrent-ruby (~> 1.0)
|
|
62
|
-
ice_nine (0.11.2)
|
|
63
|
-
mini_mime (1.0.2)
|
|
64
|
-
mini_portile2 (2.5.0)
|
|
65
|
-
nokogiri (1.11.2)
|
|
66
|
-
mini_portile2 (~> 2.5.0)
|
|
67
|
-
racc (~> 1.4)
|
|
68
|
-
os (1.1.1)
|
|
69
|
-
power_assert (2.0.0)
|
|
70
|
-
public_suffix (4.0.6)
|
|
71
|
-
racc (1.5.2)
|
|
72
|
-
rack (2.2.3)
|
|
73
|
-
rack-test (1.1.0)
|
|
74
|
-
rack (>= 1.0, < 3)
|
|
75
|
-
rake (13.0.1)
|
|
76
|
-
redcarpet (3.5.0)
|
|
77
|
-
regexp_parser (2.1.1)
|
|
78
|
-
ruby-ole (1.2.12.2)
|
|
79
|
-
rubyzip (2.3.0)
|
|
80
|
-
selenium-webdriver (3.142.7)
|
|
81
|
-
childprocess (>= 0.5, < 4.0)
|
|
82
|
-
rubyzip (>= 1.2.2)
|
|
83
|
-
spreadsheet (1.1.7)
|
|
84
|
-
ruby-ole (>= 1.0)
|
|
85
|
-
test-unit (3.4.0)
|
|
86
|
-
power_assert
|
|
87
|
-
thread_safe (0.3.6)
|
|
88
|
-
tomlrb (1.3.0)
|
|
89
|
-
virtus (1.0.5)
|
|
90
|
-
axiom-types (~> 0.1)
|
|
91
|
-
coercible (~> 1.0)
|
|
92
|
-
descendants_tracker (~> 0.0, >= 0.0.3)
|
|
93
|
-
equalizer (~> 0.0, >= 0.0.9)
|
|
94
|
-
webdrivers (4.6.0)
|
|
95
|
-
nokogiri (~> 1.6)
|
|
96
|
-
rubyzip (>= 1.3.0)
|
|
97
|
-
selenium-webdriver (>= 3.0, < 4.0)
|
|
98
|
-
websocket-driver (0.7.3)
|
|
99
|
-
websocket-extensions (>= 0.1.0)
|
|
100
|
-
websocket-extensions (0.1.5)
|
|
101
|
-
xpath (3.2.0)
|
|
102
|
-
nokogiri (~> 1.8)
|
|
103
|
-
|
|
104
|
-
PLATFORMS
|
|
105
|
-
ruby
|
|
106
|
-
|
|
107
|
-
DEPENDENCIES
|
|
108
|
-
bundler
|
|
109
|
-
rake
|
|
110
|
-
redcarpet
|
|
111
|
-
testcentricity_web!
|
|
112
|
-
|
|
113
|
-
BUNDLED WITH
|
|
114
|
-
2.1.4
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
module TestCentricity
|
|
2
|
-
class CellCheckBox < CellElement
|
|
3
|
-
attr_accessor :proxy
|
|
4
|
-
|
|
5
|
-
def initialize(name, parent, locator, context, table, column, proxy = nil)
|
|
6
|
-
super
|
|
7
|
-
@type = :cell_checkbox
|
|
8
|
-
@proxy = proxy
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
def checked?(row)
|
|
12
|
-
obj, = find_cell_element(row)
|
|
13
|
-
cell_object_not_found_exception(obj, 'Cell CheckBox', row)
|
|
14
|
-
obj.checked?
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
def set_checkbox_state(row, state)
|
|
18
|
-
obj, = find_cell_element(row)
|
|
19
|
-
cell_object_not_found_exception(obj, 'Cell CheckBox', row)
|
|
20
|
-
obj.set(state)
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
def check(row)
|
|
24
|
-
set_checkbox_state(row, true)
|
|
25
|
-
end
|
|
26
|
-
|
|
27
|
-
def uncheck(row)
|
|
28
|
-
set_checkbox_state(row, false)
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
def verify_check_state(row, state, enqueue = false)
|
|
32
|
-
actual = checked?(row)
|
|
33
|
-
enqueue ?
|
|
34
|
-
ExceptionQueue.enqueue_assert_equal(state, actual, "Expected Row #{row}/Col #{@column} Cell Checkbox #{object_ref_message}") :
|
|
35
|
-
assert_equal(state, actual, "Expected Row #{row}/Col #{@column} Cell Checkbox #{object_ref_message} to be #{state} but found #{actual} instead")
|
|
36
|
-
end
|
|
37
|
-
end
|
|
38
|
-
end
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
module TestCentricity
|
|
2
|
-
class CellElement < UIElement
|
|
3
|
-
attr_accessor :table
|
|
4
|
-
attr_accessor :column
|
|
5
|
-
attr_accessor :element_locator
|
|
6
|
-
|
|
7
|
-
def initialize(name, parent, locator, context, table, column, proxy = nil)
|
|
8
|
-
@name = name
|
|
9
|
-
@parent = parent
|
|
10
|
-
@context = context
|
|
11
|
-
@alt_locator = nil
|
|
12
|
-
@table = table
|
|
13
|
-
@column = column
|
|
14
|
-
@element_locator = locator
|
|
15
|
-
|
|
16
|
-
set_locator_type(@table.get_locator)
|
|
17
|
-
set_column(column)
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
def set_column(column)
|
|
21
|
-
@column = column
|
|
22
|
-
@locator = case @locator_type
|
|
23
|
-
when :xpath
|
|
24
|
-
"#{@table.get_table_cell_locator('ROW_SPEC', @column)}/#{@element_locator}"
|
|
25
|
-
when :css
|
|
26
|
-
"#{@table.get_table_cell_locator('ROW_SPEC', @column)} > #{@element_locator}"
|
|
27
|
-
end
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
def exists?(row)
|
|
31
|
-
obj, = find_cell_element(row)
|
|
32
|
-
obj != nil
|
|
33
|
-
end
|
|
34
|
-
|
|
35
|
-
def click(row)
|
|
36
|
-
obj, = find_cell_element(row)
|
|
37
|
-
cell_object_not_found_exception(obj, @type, row)
|
|
38
|
-
obj.click
|
|
39
|
-
end
|
|
40
|
-
|
|
41
|
-
def get_native_attribute(row, attrib)
|
|
42
|
-
obj, = find_cell_element(row)
|
|
43
|
-
cell_object_not_found_exception(obj, @type, row)
|
|
44
|
-
obj.get_native_attribute(attrib)
|
|
45
|
-
end
|
|
46
|
-
|
|
47
|
-
def get_value(row, visible = true)
|
|
48
|
-
obj, = find_cell_element(row, visible)
|
|
49
|
-
cell_object_not_found_exception(obj, @type, row)
|
|
50
|
-
case obj.tag_name.downcase
|
|
51
|
-
when 'input', 'select', 'textarea'
|
|
52
|
-
obj.value
|
|
53
|
-
else
|
|
54
|
-
obj.text
|
|
55
|
-
end
|
|
56
|
-
end
|
|
57
|
-
|
|
58
|
-
alias get_caption get_value
|
|
59
|
-
|
|
60
|
-
def find_cell_element(row, visible = true)
|
|
61
|
-
set_alt_locator("#{@locator.gsub('ROW_SPEC', row.to_s)}")
|
|
62
|
-
find_element(visible)
|
|
63
|
-
end
|
|
64
|
-
|
|
65
|
-
def cell_object_not_found_exception(obj, obj_type, row)
|
|
66
|
-
object_not_found_exception(obj, "Row #{row}/Col #{@column} #{obj_type}")
|
|
67
|
-
end
|
|
68
|
-
end
|
|
69
|
-
end
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
module TestCentricity
|
|
2
|
-
class CellRadio < CellElement
|
|
3
|
-
attr_accessor :proxy
|
|
4
|
-
|
|
5
|
-
def initialize(name, parent, locator, context, table, column, proxy = nil)
|
|
6
|
-
super
|
|
7
|
-
@type = :cell_radio
|
|
8
|
-
@proxy = proxy
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
def selected?(row)
|
|
12
|
-
obj, = find_cell_element(row)
|
|
13
|
-
cell_object_not_found_exception(obj, 'Cell Radio', row)
|
|
14
|
-
obj.checked?
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
def set_selected_state(row, state)
|
|
18
|
-
obj, = find_cell_element(row)
|
|
19
|
-
cell_object_not_found_exception(obj, 'Cell Radio', row)
|
|
20
|
-
obj.set(state)
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
def select(row)
|
|
24
|
-
set_selected_state(row, true)
|
|
25
|
-
end
|
|
26
|
-
|
|
27
|
-
def unselect(row)
|
|
28
|
-
set_selected_state(row, false)
|
|
29
|
-
end
|
|
30
|
-
end
|
|
31
|
-
end
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
module TestCentricity
|
|
2
|
-
class ListCheckBox < ListElement
|
|
3
|
-
attr_accessor :proxy
|
|
4
|
-
|
|
5
|
-
def initialize(name, parent, locator, context, list, proxy = nil)
|
|
6
|
-
super
|
|
7
|
-
@type = :list_checkbox
|
|
8
|
-
@proxy = proxy
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
def checked?(row)
|
|
12
|
-
obj, = find_list_element(row)
|
|
13
|
-
list_object_not_found_exception(obj, 'List CheckBox', row)
|
|
14
|
-
obj.checked?
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
def set_checkbox_state(row, state)
|
|
18
|
-
obj, = find_list_element(row)
|
|
19
|
-
list_object_not_found_exception(obj, 'List CheckBox', row)
|
|
20
|
-
obj.set(state)
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
def check(row)
|
|
24
|
-
set_checkbox_state(row, true)
|
|
25
|
-
end
|
|
26
|
-
|
|
27
|
-
def uncheck(row)
|
|
28
|
-
set_checkbox_state(row, false)
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
def verify_check_state(row, state, enqueue = false)
|
|
32
|
-
actual = checked?(row)
|
|
33
|
-
enqueue ?
|
|
34
|
-
ExceptionQueue.enqueue_assert_equal(state, actual, "Expected Row #{row} List Checkbox #{object_ref_message}") :
|
|
35
|
-
assert_equal(state, actual, "Expected Row #{row} List Checkbox #{object_ref_message} to be #{state} but found #{actual} instead")
|
|
36
|
-
end
|
|
37
|
-
end
|
|
38
|
-
end
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
module TestCentricity
|
|
2
|
-
class ListElement < UIElement
|
|
3
|
-
attr_accessor :list
|
|
4
|
-
attr_accessor :element_locator
|
|
5
|
-
|
|
6
|
-
def initialize(name, parent, locator, context, list, proxy = nil)
|
|
7
|
-
@name = name
|
|
8
|
-
@parent = parent
|
|
9
|
-
@context = context
|
|
10
|
-
@alt_locator = nil
|
|
11
|
-
@list = list
|
|
12
|
-
@element_locator = locator
|
|
13
|
-
|
|
14
|
-
set_locator_type(@list.get_locator)
|
|
15
|
-
|
|
16
|
-
if locator.nil?
|
|
17
|
-
@locator = list.get_list_row_locator('ROW_SPEC')
|
|
18
|
-
else
|
|
19
|
-
@locator = case @locator_type
|
|
20
|
-
when :xpath
|
|
21
|
-
"#{list.get_list_row_locator('ROW_SPEC')}/#{@element_locator}"
|
|
22
|
-
when :css
|
|
23
|
-
"#{list.get_list_row_locator('ROW_SPEC')} > #{@element_locator}"
|
|
24
|
-
end
|
|
25
|
-
end
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
def exists?(row)
|
|
29
|
-
obj, = find_list_element(row)
|
|
30
|
-
obj != nil
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
def click(row)
|
|
34
|
-
obj, = find_list_element(row)
|
|
35
|
-
list_object_not_found_exception(obj, @type, row)
|
|
36
|
-
obj.click
|
|
37
|
-
end
|
|
38
|
-
|
|
39
|
-
def get_value(row, visible = true)
|
|
40
|
-
obj, = find_list_element(row, visible)
|
|
41
|
-
list_object_not_found_exception(obj, @type, row)
|
|
42
|
-
case obj.tag_name.downcase
|
|
43
|
-
when 'input', 'select', 'textarea'
|
|
44
|
-
obj.value
|
|
45
|
-
else
|
|
46
|
-
obj.text
|
|
47
|
-
end
|
|
48
|
-
end
|
|
49
|
-
|
|
50
|
-
alias get_caption get_value
|
|
51
|
-
|
|
52
|
-
def find_list_element(row, visible = true)
|
|
53
|
-
set_alt_locator("#{@locator.gsub('ROW_SPEC', row.to_s)}")
|
|
54
|
-
find_element(visible)
|
|
55
|
-
end
|
|
56
|
-
|
|
57
|
-
def list_object_not_found_exception(obj, obj_type, row)
|
|
58
|
-
object_not_found_exception(obj, "Row #{row} #{obj_type}")
|
|
59
|
-
end
|
|
60
|
-
end
|
|
61
|
-
end
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
module TestCentricity
|
|
2
|
-
class ListRadio < ListElement
|
|
3
|
-
attr_accessor :proxy
|
|
4
|
-
|
|
5
|
-
def initialize(name, parent, locator, context, list, proxy = nil)
|
|
6
|
-
super
|
|
7
|
-
@type = :list_radio
|
|
8
|
-
@proxy = proxy
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
def selected?(row)
|
|
12
|
-
obj, = find_list_element(row)
|
|
13
|
-
list_object_not_found_exception(obj, 'List Radio', row)
|
|
14
|
-
obj.checked?
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
def set_selected_state(row, state)
|
|
18
|
-
obj, = find_list_element(row)
|
|
19
|
-
list_object_not_found_exception(obj, 'List Radio', row)
|
|
20
|
-
obj.set(state)
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
def select(row)
|
|
24
|
-
set_selected_state(row, true)
|
|
25
|
-
end
|
|
26
|
-
|
|
27
|
-
def unselect(row)
|
|
28
|
-
set_selected_state(row, false)
|
|
29
|
-
end
|
|
30
|
-
end
|
|
31
|
-
end
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
module TestCentricity
|
|
2
|
-
class UIElement
|
|
3
|
-
def invoke_siebel_dialog(popup, seconds = nil)
|
|
4
|
-
invoke_siebel_popup
|
|
5
|
-
timeout = seconds.nil? ? 15 : seconds
|
|
6
|
-
popup.wait_until_exists(timeout)
|
|
7
|
-
end
|
|
8
|
-
|
|
9
|
-
def get_siebel_object_type
|
|
10
|
-
obj, = find_element
|
|
11
|
-
object_not_found_exception(obj, 'Siebel object')
|
|
12
|
-
obj.native.attribute('ot')
|
|
13
|
-
end
|
|
14
|
-
end
|
|
15
|
-
end
|