testcentricity_web 0.5.4 → 0.5.5

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8eac97f61bc406208f747ef3f6b85c0078d41498
4
- data.tar.gz: cf07e512e939c2af1ab03a8823e14457393cc678
3
+ metadata.gz: 3fd47e4f7d10641c98afe707dbe294f97b6038cc
4
+ data.tar.gz: 0125169d38b9d3f04b919428f0bb478a810bf3ab
5
5
  SHA512:
6
- metadata.gz: 93d41573d1d76f30c80e691ae2b71168ea54e4a026ef8ed252bd3a66a32e287d8c179dd76dd7b37ca0e04e9ec82b8fb3a5b40bf3371aa7531528a32a8fdf2cd8
7
- data.tar.gz: c7967d82b27dc411ace1e3a99f3b1a32677b5f0b1354ed0ef8de3283dcc6bae6487aa2097877cf73cd2c32e516e7a28be6594ac7b829e1b6e34664b4cd728851
6
+ metadata.gz: 31814f76f6369edf6c82c8c38bd5041ee29c96d4fe758baa0f629311639723833a4d0a1ddbcae9e5203bd0bc0d1dcea7622278bb70acd4b00838a20e05e8d861
7
+ data.tar.gz: 92ee7504492cf6d61a1038799f629ec31687cbcaf4fd24f13297d43487eaeefdf1964a4be112933f40cfa5a5337b1fe51b7df4992f0883fd84fc67ddd453e65f
@@ -9,7 +9,7 @@ module TestCentricity
9
9
 
10
10
  # Define a trait for this page object.
11
11
  #
12
- # @param trait_name [symbol] name of trait (as a symbol)
12
+ # @param trait_name [Symbol] name of trait (as a symbol)
13
13
  # @param block [&block] trait value
14
14
  # @example
15
15
  # trait(:page_name) { 'Shopping Basket' }
@@ -20,9 +20,9 @@ module TestCentricity
20
20
  define_method(trait_name.to_s, &block)
21
21
  end
22
22
 
23
- # Define and instantiate a generic UI Element for this page object.
23
+ # Declare and instantiate a generic UI Element for this page object.
24
24
  #
25
- # @param element_name [symbol] name of UI object (as a symbol)
25
+ # @param element_name [Symbol] name of UI object (as a symbol)
26
26
  # @param locator [String] css selector or xpath expression that uniquely identifies object
27
27
  # @example
28
28
  # element :siebel_view, 'div#_sweview'
@@ -32,9 +32,9 @@ module TestCentricity
32
32
  class_eval(%Q(def #{element_name.to_s};@#{element_name.to_s} ||= TestCentricity::UIElement.new(self, "#{locator}", :page, nil);end))
33
33
  end
34
34
 
35
- # Define and instantiate a button UI Element for this page object.
35
+ # Declare and instantiate a button UI Element for this page object.
36
36
  #
37
- # @param element_name [symbol] name of button object (as a symbol)
37
+ # @param element_name [Symbol] name of button object (as a symbol)
38
38
  # @param locator [String] css selector or xpath expression that uniquely identifies object
39
39
  # @example
40
40
  # button :checkout_button, "button.checkout_button"
@@ -44,9 +44,9 @@ module TestCentricity
44
44
  class_eval(%Q(def #{element_name.to_s};@#{element_name.to_s} ||= TestCentricity::UIElement.new(self, "#{locator}", :page, :button);end))
45
45
  end
46
46
 
47
- # Define and instantiate a text field UI Element for this page object.
47
+ # Declare and instantiate a text field UI Element for this page object.
48
48
  #
49
- # @param element_name [symbol] name of text field object (as a symbol)
49
+ # @param element_name [Symbol] name of text field object (as a symbol)
50
50
  # @param locator [String] css selector or xpath expression that uniquely identifies object
51
51
  # @example
52
52
  # textfield :user_id_field, "//input[@id='UserName']"
@@ -56,9 +56,9 @@ module TestCentricity
56
56
  class_eval(%Q(def #{element_name.to_s};@#{element_name.to_s} ||= TestCentricity::UIElement.new(self, "#{locator}", :page, :textfield);end))
57
57
  end
58
58
 
59
- # Define and instantiate a checkbox UI Element for this page object.
59
+ # Declare and instantiate a checkbox UI Element for this page object.
60
60
  #
61
- # @param element_name [symbol] name of checkbox object (as a symbol)
61
+ # @param element_name [Symbol] name of checkbox object (as a symbol)
62
62
  # @param locator [String] css selector or xpath expression that uniquely identifies object
63
63
  # @example
64
64
  # checkbox :remember_checkbox, "//input[@id='RememberUser']"
@@ -68,9 +68,9 @@ module TestCentricity
68
68
  class_eval(%Q(def #{element_name.to_s};@#{element_name.to_s} ||= TestCentricity::UIElement.new(self, "#{locator}", :page, :checkbox);end))
69
69
  end
70
70
 
71
- # Define and instantiate a label UI Element for this page object.
71
+ # Declare and instantiate a label UI Element for this page object.
72
72
  #
73
- # @param element_name [symbol] name of label object (as a symbol)
73
+ # @param element_name [Symbol] name of label object (as a symbol)
74
74
  # @param locator [String] css selector or xpath expression that uniquely identifies object
75
75
  # @example
76
76
  # label :welcome_label, 'div.Welcome'
@@ -80,9 +80,9 @@ module TestCentricity
80
80
  class_eval(%Q(def #{element_name.to_s};@#{element_name.to_s} ||= TestCentricity::UIElement.new(self, "#{locator}", :page, :label);end))
81
81
  end
82
82
 
83
- # Define and instantiate a link UI Element for this page object.
83
+ # Declare and instantiate a link UI Element for this page object.
84
84
  #
85
- # @param element_name [symbol] name of link object (as a symbol)
85
+ # @param element_name [Symbol] name of link object (as a symbol)
86
86
  # @param locator [String] css selector or xpath expression that uniquely identifies object
87
87
  # @example
88
88
  # link :registration_link, "a.account-nav__link.register"
@@ -92,9 +92,9 @@ module TestCentricity
92
92
  class_eval(%Q(def #{element_name.to_s};@#{element_name.to_s} ||= TestCentricity::UIElement.new(self, "#{locator}", :page, :link);end))
93
93
  end
94
94
 
95
- # Define and instantiate a table UI Element for this page object.
95
+ # Declare and instantiate a table UI Element for this page object.
96
96
  #
97
- # @param element_name [symbol] name of table object (as a symbol)
97
+ # @param element_name [Symbol] name of table object (as a symbol)
98
98
  # @param locator [String] css selector or xpath expression that uniquely identifies object
99
99
  # @example
100
100
  # table :payments_table, "//table[@class='payments_table']"
@@ -103,9 +103,9 @@ module TestCentricity
103
103
  class_eval(%Q(def #{element_name.to_s};@#{element_name.to_s} ||= TestCentricity::UIElement.new(self, "#{locator}", :page, :table);end))
104
104
  end
105
105
 
106
- # Define and instantiate a select list UI Element for this page object.
106
+ # Declare and instantiate a select list UI Element for this page object.
107
107
  #
108
- # @param element_name [symbol] name of select list object (as a symbol)
108
+ # @param element_name [Symbol] name of select list object (as a symbol)
109
109
  # @param locator [String] css selector or xpath expression that uniquely identifies object
110
110
  # @example
111
111
  # selectlist :category_selector, "search_form_category_chosen"
@@ -115,9 +115,9 @@ module TestCentricity
115
115
  class_eval(%Q(def #{element_name.to_s};@#{element_name.to_s} ||= TestCentricity::UIElement.new(self, "#{locator}", :page, :selectlist);end))
116
116
  end
117
117
 
118
- # Define and instantiate an image UI Element for this page object.
118
+ # Declare and instantiate an image UI Element for this page object.
119
119
  #
120
- # @param element_name [symbol] name of image object (as a symbol)
120
+ # @param element_name [Symbol] name of image object (as a symbol)
121
121
  # @param locator [String] css selector or xpath expression that uniquely identifies object
122
122
  # @example
123
123
  # image :basket_item_image, "div.product_image"
@@ -127,6 +127,13 @@ module TestCentricity
127
127
  class_eval(%Q(def #{element_name.to_s};@#{element_name.to_s} ||= TestCentricity::UIElement.new(self, "#{locator}", :page, :image);end))
128
128
  end
129
129
 
130
+ # Instantiate a PageSection object for this page object.
131
+ #
132
+ # @param section_name [Symbol] name of PageSection object (as a symbol)
133
+ # @param class_name [String] Class name of PageSection object
134
+ # @example
135
+ # section :search_form, SearchForm
136
+ #
130
137
  def self.section(section_name, class_name, locator = nil)
131
138
  class_eval(%Q(def #{section_name.to_s};@#{section_name.to_s} ||= #{class_name.to_s}.new(self, "#{locator}", :page);end))
132
139
  end
@@ -18,7 +18,7 @@ module TestCentricity
18
18
 
19
19
  # Define a trait for this page section.
20
20
  #
21
- # @param trait_name [symbol] name of trait (as a symbol)
21
+ # @param trait_name [Symbol] name of trait (as a symbol)
22
22
  # @param block [&block] trait value
23
23
  # @example
24
24
  # trait(:section_locator) { "//div[@class='Messaging_Applet']" }
@@ -28,9 +28,9 @@ module TestCentricity
28
28
  define_method(trait_name.to_s, &block)
29
29
  end
30
30
 
31
- # Define and instantiate a generic UI Element for this page section.
31
+ # Declare and instantiate a generic UI Element for this page section.
32
32
  #
33
- # @param element_name [symbol] name of UI object (as a symbol)
33
+ # @param element_name [Symbol] name of UI object (as a symbol)
34
34
  # @param locator [String] css selector or xpath expression that uniquely identifies object
35
35
  # @example
36
36
  # element :undo_record_item, "//li[@rn='Undo Record']/a"
@@ -40,9 +40,9 @@ module TestCentricity
40
40
  class_eval(%Q(def #{element_name.to_s};@#{element_name.to_s} ||= TestCentricity::UIElement.new(self, "#{locator}", :section, nil);end))
41
41
  end
42
42
 
43
- # Define and instantiate a button UI Element for this page section.
43
+ # Declare and instantiate a button UI Element for this page section.
44
44
  #
45
- # @param element_name [symbol] name of button object (as a symbol)
45
+ # @param element_name [Symbol] name of button object (as a symbol)
46
46
  # @param locator [String] css selector or xpath expression that uniquely identifies object
47
47
  # @example
48
48
  # button :checkout_button, "button.checkout_button"
@@ -52,9 +52,9 @@ module TestCentricity
52
52
  class_eval(%Q(def #{element_name.to_s};@#{element_name.to_s} ||= TestCentricity::UIElement.new(self, "#{locator}", :section, :button);end))
53
53
  end
54
54
 
55
- # Define and instantiate a text field UI Element for this page section.
55
+ # Declare and instantiate a text field UI Element for this page section.
56
56
  #
57
- # @param element_name [symbol] name of text field object (as a symbol)
57
+ # @param element_name [Symbol] name of text field object (as a symbol)
58
58
  # @param locator [String] css selector or xpath expression that uniquely identifies object
59
59
  # @example
60
60
  # textfield :user_id_field, "//input[@id='UserName']"
@@ -64,9 +64,9 @@ module TestCentricity
64
64
  class_eval(%Q(def #{element_name.to_s};@#{element_name.to_s} ||= TestCentricity::UIElement.new(self, "#{locator}", :section, :textfield);end))
65
65
  end
66
66
 
67
- # Define and instantiate a checkbox UI Element for this page section.
67
+ # Declare and instantiate a checkbox UI Element for this page section.
68
68
  #
69
- # @param element_name [symbol] name of checkbox object (as a symbol)
69
+ # @param element_name [Symbol] name of checkbox object (as a symbol)
70
70
  # @param locator [String] css selector or xpath expression that uniquely identifies object
71
71
  # @example
72
72
  # checkbox :remember_checkbox, "//input[@id='RememberUser']"
@@ -76,9 +76,9 @@ module TestCentricity
76
76
  class_eval(%Q(def #{element_name.to_s};@#{element_name.to_s} ||= TestCentricity::UIElement.new(self, "#{locator}", :section, :checkbox);end))
77
77
  end
78
78
 
79
- # Define and instantiate a label UI Element for this page section.
79
+ # Declare and instantiate a label UI Element for this page section.
80
80
  #
81
- # @param element_name [symbol] name of label object (as a symbol)
81
+ # @param element_name [Symbol] name of label object (as a symbol)
82
82
  # @param locator [String] css selector or xpath expression that uniquely identifies object
83
83
  # @example
84
84
  # label :welcome_label, 'div.Welcome'
@@ -88,9 +88,9 @@ module TestCentricity
88
88
  class_eval(%Q(def #{element_name.to_s};@#{element_name.to_s} ||= TestCentricity::UIElement.new(self, "#{locator}", :section, :label);end))
89
89
  end
90
90
 
91
- # Define and instantiate a link UI Element for this page section.
91
+ # Declare and instantiate a link UI Element for this page section.
92
92
  #
93
- # @param element_name [symbol] name of link object (as a symbol)
93
+ # @param element_name [Symbol] name of link object (as a symbol)
94
94
  # @param locator [String] css selector or xpath expression that uniquely identifies object
95
95
  # @example
96
96
  # link :registration_link, "a.account-nav__link.register"
@@ -100,9 +100,9 @@ module TestCentricity
100
100
  class_eval(%Q(def #{element_name.to_s};@#{element_name.to_s} ||= TestCentricity::UIElement.new(self, "#{locator}", :section, :link);end))
101
101
  end
102
102
 
103
- # Define and instantiate a table UI Element for this page section.
103
+ # Declare and instantiate a table UI Element for this page section.
104
104
  #
105
- # @param element_name [symbol] name of table object (as a symbol)
105
+ # @param element_name [Symbol] name of table object (as a symbol)
106
106
  # @param locator [String] css selector or xpath expression that uniquely identifies object
107
107
  # @example
108
108
  # table :payments_table, "//table[@class='payments_table']"
@@ -111,9 +111,9 @@ module TestCentricity
111
111
  class_eval(%Q(def #{element_name.to_s};@#{element_name.to_s} ||= TestCentricity::UIElement.new(self, "#{locator}", :section, :table);end))
112
112
  end
113
113
 
114
- # Define and instantiate a select list UI Element for this page section.
114
+ # Declare and instantiate a select list UI Element for this page section.
115
115
  #
116
- # @param element_name [symbol] name of select list object (as a symbol)
116
+ # @param element_name [Symbol] name of select list object (as a symbol)
117
117
  # @param locator [String] css selector or xpath expression that uniquely identifies object
118
118
  # @example
119
119
  # selectlist :category_selector, "search_form_category_chosen"
@@ -123,9 +123,9 @@ module TestCentricity
123
123
  class_eval(%Q(def #{element_name.to_s};@#{element_name.to_s} ||= TestCentricity::UIElement.new(self, "#{locator}", :section, :selectlist);end))
124
124
  end
125
125
 
126
- # Define and instantiate an image UI Element for this page section.
126
+ # Declare and instantiate an image UI Element for this page section.
127
127
  #
128
- # @param element_name [symbol] name of image object (as a symbol)
128
+ # @param element_name [Symbol] name of image object (as a symbol)
129
129
  # @param locator [String] css selector or xpath expression that uniquely identifies object
130
130
  # @example
131
131
  # image :basket_item_image, "div.product_image"
@@ -135,6 +135,13 @@ module TestCentricity
135
135
  class_eval(%Q(def #{element_name.to_s};@#{element_name.to_s} ||= TestCentricity::UIElement.new(self, "#{locator}", :section, :image);end))
136
136
  end
137
137
 
138
+ # Instantiate a PageSection object within this PageSection object.
139
+ #
140
+ # @param section_name [Symbol] name of PageSection object (as a symbol)
141
+ # @param class_name [String] Class name of PageSection object
142
+ # @example
143
+ # section :search_form, SearchForm
144
+ #
138
145
  def self.section(section_name, class_name, locator = nil)
139
146
  class_eval(%Q(def #{section_name.to_s};@#{section_name.to_s} ||= #{class_name.to_s}.new(self, "#{locator}", :section);end))
140
147
  end
@@ -197,7 +204,7 @@ module TestCentricity
197
204
 
198
205
  # Wait until the Section object exists, or until the specified wait time has expired.
199
206
  #
200
- # @param seconds [Integer, Float] wait time in seconds
207
+ # @param seconds [Integer or Float] wait time in seconds
201
208
  # @example
202
209
  # navigation_toolbar.wait_until_exists(0.5)
203
210
  #
@@ -211,7 +218,7 @@ module TestCentricity
211
218
 
212
219
  # Wait until the Section object no longer exists, or until the specified wait time has expired.
213
220
  #
214
- # @param seconds [Integer, Float] wait time in seconds
221
+ # @param seconds [Integer or Float] wait time in seconds
215
222
  # @example
216
223
  # navigation_toolbar.wait_until_gone(5)
217
224
  #
@@ -225,7 +225,7 @@ module TestCentricity
225
225
 
226
226
  # Wait until the object exists, or until the specified wait time has expired.
227
227
  #
228
- # @param seconds [Integer, Float] wait time in seconds
228
+ # @param seconds [Integer or Float] wait time in seconds
229
229
  # @example
230
230
  # run_button.wait_until_exists(0.5)
231
231
  #
@@ -239,7 +239,7 @@ module TestCentricity
239
239
 
240
240
  # Wait until the object no longer exists, or until the specified wait time has expired.
241
241
  #
242
- # @param seconds [Integer, Float] wait time in seconds
242
+ # @param seconds [Integer or Float] wait time in seconds
243
243
  # @example
244
244
  # logout_button.wait_until_gone(5)
245
245
  #
@@ -253,7 +253,7 @@ module TestCentricity
253
253
 
254
254
  # Wait until the object's value equals the specified value, or until the specified wait time has expired.
255
255
  #
256
- # @param seconds [Integer, Float] wait time in seconds
256
+ # @param seconds [Integer or Float] wait time in seconds
257
257
  # @example
258
258
  # card_authorized_label.wait_until_value_is(5, 'Card authorized')
259
259
  #
@@ -267,7 +267,7 @@ module TestCentricity
267
267
 
268
268
  # Wait until the object's value changes to a different value, or until the specified wait time has expired.
269
269
  #
270
- # @param seconds [Integer, Float] wait time in seconds
270
+ # @param seconds [Integer or Float] wait time in seconds
271
271
  # @example
272
272
  # basket_grand_total_label.wait_until_value_changes(5)
273
273
  #
@@ -1,3 +1,3 @@
1
1
  module TestCentricityWeb
2
- VERSION = '0.5.4'
2
+ VERSION = '0.5.5'
3
3
  end
@@ -2,7 +2,7 @@ module TestCentricity
2
2
  class WebDriverConnect
3
3
  include Capybara::DSL
4
4
 
5
- def self.initialize_web_driver(environment)
5
+ def self.initialize_web_driver(app_host)
6
6
  browser = ENV['WEB_BROWSER']
7
7
 
8
8
  # assume that we're testing within a local desktop web browser
@@ -22,9 +22,7 @@ module TestCentricity
22
22
  initialize_local_browser(browser)
23
23
  end
24
24
 
25
- (environment.hostname.length > 0) ?
26
- Capybara.app_host = "#{environment.protocol}://#{environment.hostname}/#{environment.base_url}" :
27
- Capybara.app_host = "#{environment.protocol}://#{environment.base_url}"
25
+ Capybara.app_host = app_host
28
26
 
29
27
  # set browser window size only if testing with a desktop web browser
30
28
  if Environ.is_desktop?
@@ -0,0 +1,26 @@
1
+ module WorldData
2
+ def environs
3
+ @environs ||= TestCentricity::EnvironData.new
4
+ end
5
+
6
+ def instantiate_data_objects
7
+ return if TestCentricity::DataManager.loaded?
8
+
9
+ data_objects.each do | data_type, data_class |
10
+ eval("def #{data_type.to_s};@#{data_type.to_s} ||= #{data_class}.new;end")
11
+ TestCentricity::DataManager.register_data_object(data_type, data_class.new)
12
+ end
13
+ end
14
+ end
15
+
16
+
17
+ module WorldPages
18
+ def instantiate_page_objects
19
+ return if TestCentricity::PageManager.loaded?
20
+
21
+ page_objects.each do | page_object, page_class |
22
+ eval("def #{page_object.to_s};@#{page_object.to_s} ||= #{page_class}.new;end")
23
+ TestCentricity::PageManager.register_page_object(page_object, page_class.new)
24
+ end
25
+ end
26
+ end
@@ -1,6 +1,7 @@
1
1
  require 'capybara/cucumber'
2
2
  require 'rspec/expectations'
3
3
  require 'test/unit'
4
+ require 'testcentricity_web/world_extensions'
4
5
  require 'testcentricity_web/browser_helper'
5
6
  require 'testcentricity_web/data_objects_helper'
6
7
  require 'testcentricity_web/drag_drop_helper'
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: 0.5.4
4
+ version: 0.5.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - A.J. Mrozinski
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-03-16 00:00:00.000000000 Z
11
+ date: 2016-03-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -194,6 +194,7 @@ files:
194
194
  - lib/testcentricity_web/utility_helpers.rb
195
195
  - lib/testcentricity_web/version.rb
196
196
  - lib/testcentricity_web/webdriver_helper.rb
197
+ - lib/testcentricity_web/world_extensions.rb
197
198
  - testcentricity_web.gemspec
198
199
  homepage: ''
199
200
  licenses: