page-object-lds 0.0.12 → 0.0.13
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 +13 -5
- data/lib/TNR360/ServerUtils.rb +47 -0
- data/lib/TNR360/TNRTestFooter.rb +5 -0
- data/lib/TNR360/TNRTestHeader.rb +20 -0
- data/lib/TNR360/TnrUtils.rb +61 -0
- data/lib/TNR360/TnrUtilsGeneric.rb +91 -0
- data/lib/TNR360/TnrUtilsInes.rb +48 -0
- data/lib/TNR360/TnrUtilsMehdi.rb +35 -0
- data/lib/TNR360/components/dependencies.rb +21 -0
- data/lib/TNR360/components/lds_action.rb +62 -0
- data/lib/TNR360/components/lds_area.rb +171 -0
- data/lib/TNR360/components/lds_block.rb +271 -0
- data/lib/TNR360/components/lds_block_in_summary_view.rb +93 -0
- data/lib/TNR360/components/lds_checkbox.rb +196 -0
- data/lib/TNR360/components/lds_column.rb +153 -0
- data/lib/TNR360/components/lds_fk.rb +21 -0
- data/lib/TNR360/components/lds_grid.rb +332 -0
- data/lib/TNR360/components/lds_lov.rb +27 -0
- data/lib/TNR360/components/lds_menu.rb +50 -0
- data/lib/TNR360/components/lds_radio.rb +195 -0
- data/lib/TNR360/components/lds_screen.rb +234 -0
- data/lib/TNR360/components/lds_summary_view.rb +46 -0
- data/lib/TNR360/components/lds_text_field.rb +203 -0
- data/lib/TNR360/components/lds_vue360.rb +234 -0
- data/lib/TNR360/version.rb +3 -0
- data/lib/page-object/accessors.rb +57 -0
- data/lib/page-object/elements/text_field.rb +1 -1
- data/lib/page-object/platforms/lds_watir_webdriver/page_object.rb +48 -0
- data/lib/page-object/version.rb +1 -1
- metadata +55 -30
@@ -219,6 +219,63 @@ module PageObject
|
|
219
219
|
end
|
220
220
|
end
|
221
221
|
|
222
|
+
|
223
|
+
##Begining of Mehdi's added methods
|
224
|
+
|
225
|
+
#
|
226
|
+
# adds four methods to the page object - one to set text in a text field,
|
227
|
+
# another to retrieve text from a text field, another to return the text
|
228
|
+
# field element, another to check the text field's existence.
|
229
|
+
#
|
230
|
+
# @example
|
231
|
+
# text_field(:first_name, :id => "first_name")
|
232
|
+
# # will generate 'first_name', 'first_name=', 'first_name_element',
|
233
|
+
# # 'first_name?' methods
|
234
|
+
#
|
235
|
+
# @param [String] the name used for the generated methods
|
236
|
+
# @param [Hash] identifier how we find a text field. You can use a multiple parameters
|
237
|
+
# by combining of any of the following except xpath. The valid keys are:
|
238
|
+
# * :class => Watir and Selenium
|
239
|
+
# * :css => Selenium only
|
240
|
+
# * :id => Watir and Selenium
|
241
|
+
# * :index => Watir and Selenium
|
242
|
+
# * :label => Watir and Selenium
|
243
|
+
# * :name => Watir and Selenium
|
244
|
+
# * :text => Watir and Selenium
|
245
|
+
# * :title => Watir and Selenium
|
246
|
+
# * :value => Watir only
|
247
|
+
# * :xpath => Watir and Selenium
|
248
|
+
# @param optional block to be invoked when element method is called
|
249
|
+
#
|
250
|
+
def lds_text_field(name, identifier,idBlock=nil,idScreen=nil, &block)
|
251
|
+
lds_standard_methods(name, identifier,idBlock,idScreen, 'lds_','text_field','_for', &block)
|
252
|
+
define_method(name) do
|
253
|
+
return platform.lds_text_field_value_for(identifier.clone,idBlock.clone,idScreen.clone) unless block_given?
|
254
|
+
self.send("#{name}_element").value
|
255
|
+
end
|
256
|
+
define_method("#{name}=") do |value|
|
257
|
+
return platform.lds_text_field_value_set(identifier.clone,idBlock.clone,idScreen.clone, value) unless block_given?
|
258
|
+
self.send("#{name}_element").value = value
|
259
|
+
end
|
260
|
+
end
|
261
|
+
|
262
|
+
def lds_standard_methods(name, identifier, idBlock=nil,idScreen=nil, method_pre,method_heart,method_suf, &block)
|
263
|
+
define_method("#{name}_element") do
|
264
|
+
return call_block(&block) if block_given?
|
265
|
+
platform.send(method_pre.to_s+'generic_'+method_heart.to_s+method_suf.to_s, identifier.clone,idBlock.clone,idScreen.clone)
|
266
|
+
end
|
267
|
+
define_method("#{name}_lds_element") do
|
268
|
+
return call_block(&block) if block_given?
|
269
|
+
platform.send(method_pre.to_s+'lds'+method_heart.to_s.gsub('_', '')+method_suf.to_s, identifier.clone,idBlock.clone,idScreen.clone)
|
270
|
+
end
|
271
|
+
define_method("#{name}?") do
|
272
|
+
return call_block(&block).exists? if block_given?
|
273
|
+
platform.send(method_pre.to_s+'lds'+method_heart.to_s.gsub('_', '')+method_suf.to_s, identifier.clone,idBlock.clone,idScreen.clone).isExist?
|
274
|
+
end
|
275
|
+
end
|
276
|
+
|
277
|
+
##end of mehdi's added methods
|
278
|
+
|
222
279
|
#
|
223
280
|
# adds three methods to the page object - one to get the text from a hidden field,
|
224
281
|
# another to retrieve the hidden field element, and another to check the hidden
|
@@ -34,7 +34,7 @@ module PageObject
|
|
34
34
|
require 'page-object/platforms/selenium_webdriver/text_field'
|
35
35
|
self.class.send :include, PageObject::Platforms::SeleniumWebDriver::TextField
|
36
36
|
else
|
37
|
-
raise ArgumentError, "expect platform to be :watir_webdriver or :selenium_webdriver"
|
37
|
+
raise ArgumentError, "expect platform to be :watir_webdriver, :lds_watir_webdriver or :selenium_webdriver"
|
38
38
|
end
|
39
39
|
end
|
40
40
|
end
|
@@ -235,6 +235,47 @@ module PageObject
|
|
235
235
|
process_watir_call("hidden(identifier).value", Elements::HiddenField, identifier)
|
236
236
|
end
|
237
237
|
|
238
|
+
## start of mehdi's added code
|
239
|
+
|
240
|
+
#
|
241
|
+
# platform method to get the value stored in a text field
|
242
|
+
# See PageObject::Accessors#text_field
|
243
|
+
#
|
244
|
+
def lds_text_field_value_for(identifier,idBloc=nil,idScreen=nil)
|
245
|
+
# process_watir_call("text_field(identifier).value", Elements::TextField, identifier)
|
246
|
+
LdsTextField.new(@browser,identifier,idBloc,idScreen).getValue
|
247
|
+
|
248
|
+
end
|
249
|
+
|
250
|
+
#
|
251
|
+
# platform method to set the value for a text field
|
252
|
+
# See PageObject::Accessors#text_field
|
253
|
+
#
|
254
|
+
def lds_text_field_value_set(identifier, value,idBloc=nil,idScreen=nil)
|
255
|
+
#process_watir_call("text_field(identifier).set(value)", Elements::TextField, identifier, value)
|
256
|
+
LdsTextField.new(@browser,identifier,idBloc,idScreen).fill value
|
257
|
+
end
|
258
|
+
|
259
|
+
#
|
260
|
+
# platform method to retrieve a text field element
|
261
|
+
# See PageObject::Accessors#text_field
|
262
|
+
#
|
263
|
+
def lds_generic_text_field_for(identifier,idBloc=nil,idScreen=nil)
|
264
|
+
#find_watir_element("text_field(identifier)", Elements::TextField, identifier)
|
265
|
+
LdsTextField.new(@browser,identifier,idBloc,idScreen).getElement
|
266
|
+
end
|
267
|
+
|
268
|
+
#
|
269
|
+
# platform method to retrieve a text field element
|
270
|
+
# See PageObject::Accessors#text_field
|
271
|
+
#
|
272
|
+
def lds__ldstextfield_for(identifier,idBloc=nil,idScreen=nil)
|
273
|
+
#find_watir_element("text_field(identifier)", Elements::TextField, identifier)
|
274
|
+
LdsTextField.new(@browser,identifier,idBloc,idScreen)
|
275
|
+
end
|
276
|
+
|
277
|
+
## end of mehdi's added code
|
278
|
+
|
238
279
|
#
|
239
280
|
# platform method to retrieve a hidden field element
|
240
281
|
# See PageObject::Accessors#hidden_field
|
@@ -977,6 +1018,13 @@ module PageObject
|
|
977
1018
|
value
|
978
1019
|
end
|
979
1020
|
|
1021
|
+
def process_lds_watir_call(the_call, type, identifier, value=nil, tag_name=nil)
|
1022
|
+
identifier, frame_identifiers = parse_identifiers(identifier, type, tag_name)
|
1023
|
+
value = @browser.instance_eval "#{nested_frames(frame_identifiers)}#{the_call}"
|
1024
|
+
switch_to_default_content(frame_identifiers)
|
1025
|
+
value
|
1026
|
+
end
|
1027
|
+
|
980
1028
|
def parse_identifiers(identifier, element, tag_name=nil)
|
981
1029
|
frame_identifiers = identifier.delete(:frame)
|
982
1030
|
identifier = add_tagname_if_needed identifier, tag_name if tag_name
|
data/lib/page-object/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: page-object-lds
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.13
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mehdi Taoufik Chaouachi
|
@@ -14,98 +14,98 @@ dependencies:
|
|
14
14
|
name: watir-webdriver
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ! '>='
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: 0.6.11
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - ! '>='
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 0.6.11
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: selenium-webdriver
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - ! '>='
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: 2.44.0
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - ! '>='
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: 2.44.0
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: page_navigation
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- -
|
45
|
+
- - ! '>='
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '0.9'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- -
|
52
|
+
- - ! '>='
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0.9'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rspec
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- -
|
59
|
+
- - ~>
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: 3.1.0
|
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
68
|
version: 3.1.0
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: cucumber
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- -
|
73
|
+
- - ! '>='
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: 1.3.0
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- -
|
80
|
+
- - ! '>='
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: 1.3.0
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: yard
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- -
|
87
|
+
- - ! '>='
|
88
88
|
- !ruby/object:Gem::Version
|
89
89
|
version: 0.7.2
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- -
|
94
|
+
- - ! '>='
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: 0.7.2
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: rack
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
|
-
- -
|
101
|
+
- - ! '>='
|
102
102
|
- !ruby/object:Gem::Version
|
103
103
|
version: '1.0'
|
104
104
|
type: :development
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
|
-
- -
|
108
|
+
- - ! '>='
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '1.0'
|
111
111
|
description: Page Object DSL that works with both Watir , Selenium and FWK360 LDS
|
@@ -116,18 +116,18 @@ executables: []
|
|
116
116
|
extensions: []
|
117
117
|
extra_rdoc_files: []
|
118
118
|
files:
|
119
|
-
-
|
120
|
-
-
|
121
|
-
-
|
122
|
-
-
|
123
|
-
-
|
124
|
-
-
|
125
|
-
-
|
126
|
-
-
|
127
|
-
-
|
128
|
-
-
|
129
|
-
-
|
130
|
-
-
|
119
|
+
- .gitignore
|
120
|
+
- .idea/encodings.xml
|
121
|
+
- .idea/misc.xml
|
122
|
+
- .idea/modules.xml
|
123
|
+
- .idea/page-object-lds.iml
|
124
|
+
- .idea/scopes/scope_settings.xml
|
125
|
+
- .idea/vcs.xml
|
126
|
+
- .idea/workspace.xml
|
127
|
+
- .rspec
|
128
|
+
- .ruby-gemset
|
129
|
+
- .ruby-version
|
130
|
+
- .travis.yml
|
131
131
|
- ChangeLog
|
132
132
|
- Gemfile
|
133
133
|
- Guardfile
|
@@ -257,6 +257,30 @@ files:
|
|
257
257
|
- features/text_field.feature
|
258
258
|
- features/unordered_list.feature
|
259
259
|
- features/video.feature
|
260
|
+
- lib/TNR360/ServerUtils.rb
|
261
|
+
- lib/TNR360/TNRTestFooter.rb
|
262
|
+
- lib/TNR360/TNRTestHeader.rb
|
263
|
+
- lib/TNR360/TnrUtils.rb
|
264
|
+
- lib/TNR360/TnrUtilsGeneric.rb
|
265
|
+
- lib/TNR360/TnrUtilsInes.rb
|
266
|
+
- lib/TNR360/TnrUtilsMehdi.rb
|
267
|
+
- lib/TNR360/components/dependencies.rb
|
268
|
+
- lib/TNR360/components/lds_action.rb
|
269
|
+
- lib/TNR360/components/lds_area.rb
|
270
|
+
- lib/TNR360/components/lds_block.rb
|
271
|
+
- lib/TNR360/components/lds_block_in_summary_view.rb
|
272
|
+
- lib/TNR360/components/lds_checkbox.rb
|
273
|
+
- lib/TNR360/components/lds_column.rb
|
274
|
+
- lib/TNR360/components/lds_fk.rb
|
275
|
+
- lib/TNR360/components/lds_grid.rb
|
276
|
+
- lib/TNR360/components/lds_lov.rb
|
277
|
+
- lib/TNR360/components/lds_menu.rb
|
278
|
+
- lib/TNR360/components/lds_radio.rb
|
279
|
+
- lib/TNR360/components/lds_screen.rb
|
280
|
+
- lib/TNR360/components/lds_summary_view.rb
|
281
|
+
- lib/TNR360/components/lds_text_field.rb
|
282
|
+
- lib/TNR360/components/lds_vue360.rb
|
283
|
+
- lib/TNR360/version.rb
|
260
284
|
- lib/page-object-lds.rb
|
261
285
|
- lib/page-object/accessors.rb
|
262
286
|
- lib/page-object/core_ext/string.rb
|
@@ -413,18 +437,19 @@ require_paths:
|
|
413
437
|
- lib
|
414
438
|
required_ruby_version: !ruby/object:Gem::Requirement
|
415
439
|
requirements:
|
416
|
-
- -
|
440
|
+
- - ! '>='
|
417
441
|
- !ruby/object:Gem::Version
|
418
442
|
version: '0'
|
419
443
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
420
444
|
requirements:
|
421
|
-
- -
|
445
|
+
- - ! '>='
|
422
446
|
- !ruby/object:Gem::Version
|
423
447
|
version: '0'
|
424
448
|
requirements: []
|
425
449
|
rubyforge_project: page-object-lds
|
426
|
-
rubygems_version: 2.4.
|
450
|
+
rubygems_version: 2.4.6
|
427
451
|
signing_key:
|
428
452
|
specification_version: 4
|
429
453
|
summary: Page Object DSL for browser testing
|
430
454
|
test_files: []
|
455
|
+
has_rdoc:
|