testcentricity_web 1.0.10 → 1.0.11

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: 906afaf57d5a7352d8be8fbccc06f4c39abf187a
4
- data.tar.gz: 5fde70d9dbc742ad30e6c4723b6c30629153b986
3
+ metadata.gz: 6aa70185a02180a4bb0c3e5f2fa3eee415b6c274
4
+ data.tar.gz: d7ee5fecdef3e4c33322ad9791b6fc3023da7189
5
5
  SHA512:
6
- metadata.gz: e2a183ee07b59f2b312245f40366c9b7ebdddc248782758711c5717ba3dde402be540f312a431f363a89b49a6c53f619b3dea073549fd64de29d60c21026f069
7
- data.tar.gz: df9efd2d9ff024dc29cce73c4eb54dc839b05ff98e2653a1458e36cda5a2abce5ab411c0f068d96ad4f73886fc72f414d754e297a181b5e3e71c7fc25c3ea045
6
+ metadata.gz: 7ef24f00291c38c9267e61168db063c48d312f3a4ba5708c20b5d9e20332eec47935870b3cf247c9712ce96bdfaebc8c245916ca11da6ad3d6cab2f0b8e1dd50
7
+ data.tar.gz: 94b477206bc4004212eec3d0e8b0819256d361f45c8a0daaf9146e9eb846289e39d1c11c8c663aba9915549677789a4cc1c07f1f0afa7a202f0ae07d5b372581
data/README.md CHANGED
@@ -1091,7 +1091,7 @@ in landscape orientation:
1091
1091
 
1092
1092
  $ cucumber -p ipad_pro_93_sim -p landscape
1093
1093
 
1094
- NOTE: Appium must me running prior to executing this command
1094
+ NOTE: Appium must be running prior to executing this command
1095
1095
 
1096
1096
 
1097
1097
  The following command specifies that Cucumber will run tests against a remotely hosted Safari web browser running on an OS X Yosemite
@@ -1,11 +1,8 @@
1
1
  module TestCentricity
2
2
  class Button < UIElement
3
- def initialize(parent, locator, context)
4
- @parent = parent
5
- @locator = locator
6
- @context = context
7
- @type = :button
8
- @alt_locator = nil
3
+ def initialize(name, parent, locator, context)
4
+ super
5
+ @type = :button
9
6
  end
10
7
  end
11
8
  end
@@ -2,13 +2,14 @@ module TestCentricity
2
2
  class CheckBox < UIElement
3
3
  attr_accessor :proxy
4
4
 
5
- def initialize(parent, locator, context, proxy = nil)
5
+ def initialize(name, parent, locator, context, proxy = nil)
6
+ @name = name
6
7
  @parent = parent
7
8
  @locator = locator
8
9
  @context = context
10
+ @alt_locator = nil
9
11
  @proxy = proxy
10
12
  @type = :checkbox
11
- @alt_locator = nil
12
13
  end
13
14
 
14
15
  # Does checkbox object exists?
@@ -77,8 +78,8 @@ module TestCentricity
77
78
  def verify_check_state(state, enqueue = false)
78
79
  actual = checked?
79
80
  enqueue ?
80
- ExceptionQueue.enqueue_assert_equal(state, actual, "Expected #{@locator}") :
81
- assert_equal(state, actual, "Expected #{@locator} to be #{state} but found #{actual} instead")
81
+ ExceptionQueue.enqueue_assert_equal(state, actual, "Expected checkbox object '#{get_name}' (#{get_locator})") :
82
+ assert_equal(state, actual, "Expected checkbox object '#{get_name}' (#{get_locator}) to be #{state} but found #{actual} instead")
82
83
  end
83
84
 
84
85
  # Set the check state of a Siebel OUI JCheckBox object.
@@ -90,7 +91,7 @@ module TestCentricity
90
91
  def set_siebel_checkbox_state(state)
91
92
  obj, _ = find_element
92
93
  object_not_found_exception(obj, 'Siebel checkbox')
93
- raise "#{locator} is not a Siebel CheckBox object" unless get_siebel_object_type == 'JCheckBox'
94
+ raise "UI object '#{get_name}' (#{get_locator}) is not a Siebel CheckBox object" unless get_siebel_object_type == 'JCheckBox'
94
95
  expected = state.to_bool
95
96
  obj.click unless expected == obj.checked?
96
97
  end
@@ -1,11 +1,8 @@
1
1
  module TestCentricity
2
2
  class FileField < UIElement
3
- def initialize(parent, locator, context)
4
- @parent = parent
5
- @locator = locator
6
- @context = context
7
- @type = :filefield
8
- @alt_locator = nil
3
+ def initialize(name, parent, locator, context)
4
+ super
5
+ @type = :filefield
9
6
  end
10
7
 
11
8
  def file_attach(file_path)
@@ -27,5 +24,17 @@ module TestCentricity
27
24
  # trigger the fake drop event
28
25
  page.execute_script("#{js_script} e = $.Event('drop'); e.originalEvent = {dataTransfer : { files : fileList } }; $('#{@locator}').trigger(e);")
29
26
  end
27
+
28
+ def ng_drop_file(file_path)
29
+ # generate a fake input selector
30
+ page.execute_script("fakeFileInput = window.$('<input/>').attr({ id: 'fileFileInput', type: 'file' }).appendTo('body');")
31
+ # attach file to the fake input selector through Capybara
32
+ page.attach_file('fakeFileInput', file_path)
33
+ # create the fake js event
34
+ js_script = "var scope = angular.element('#{@locator}').scope();"
35
+ js_script = "#{js_script} scope.files = [fakeFileInput.get(0).files[0]];"
36
+ # trigger the fake drop event
37
+ page.execute_script(js_script)
38
+ end
30
39
  end
31
40
  end
@@ -1,11 +1,8 @@
1
1
  module TestCentricity
2
2
  class Image < UIElement
3
- def initialize(parent, locator, context)
4
- @parent = parent
5
- @locator = locator
6
- @context = context
7
- @type = :image
8
- @alt_locator = nil
3
+ def initialize(name, parent, locator, context)
4
+ super
5
+ @type = :image
9
6
  end
10
7
 
11
8
  # Is image loaded?
@@ -31,7 +28,7 @@ module TestCentricity
31
28
  wait = Selenium::WebDriver::Wait.new(timeout: timeout)
32
29
  wait.until { is_loaded? }
33
30
  rescue
34
- raise "Image #{@locator} failed to load within #{timeout} seconds" unless is_loaded?
31
+ raise "Image object '#{get_name}' (#{get_locator}) failed to load within #{timeout} seconds" unless is_loaded?
35
32
  end
36
33
  end
37
34
  end
@@ -1,11 +1,8 @@
1
1
  module TestCentricity
2
2
  class Label < UIElement
3
- def initialize(parent, locator, context)
4
- @parent = parent
5
- @locator = locator
6
- @context = context
7
- @type = :label
8
- @alt_locator = nil
3
+ def initialize(name, parent, locator, context)
4
+ super
5
+ @type = :label
9
6
  end
10
7
  end
11
8
  end
@@ -1,11 +1,8 @@
1
1
  module TestCentricity
2
2
  class Link < UIElement
3
- def initialize(parent, locator, context)
4
- @parent = parent
5
- @locator = locator
6
- @context = context
7
- @type = :link
8
- @alt_locator = nil
3
+ def initialize(name, parent, locator, context)
4
+ super
5
+ @type = :link
9
6
  end
10
7
  end
11
8
  end
@@ -2,14 +2,10 @@ module TestCentricity
2
2
  class List < UIElement
3
3
  attr_accessor :list_item
4
4
 
5
- def initialize(parent, locator, context)
6
- @parent = parent
7
- @locator = locator
8
- @context = context
9
- @type = :list
10
- @alt_locator = nil
11
- list_spec = { :list_item => 'li' }
12
- define_list_elements(list_spec)
5
+ def initialize(name, parent, locator, context)
6
+ super
7
+ @type = :list
8
+ define_list_elements({ :list_item => 'li' })
13
9
  end
14
10
 
15
11
  def define_list_elements(element_spec)
@@ -37,8 +33,8 @@ module TestCentricity
37
33
  def verify_list_items(expected, enqueue = false)
38
34
  actual = get_list_items
39
35
  enqueue ?
40
- ExceptionQueue.enqueue_assert_equal(expected, actual, "Expected list #{@locator}") :
41
- assert_equal(expected, actual, "Expected list #{@locator} to be #{expected} but found #{actual}")
36
+ ExceptionQueue.enqueue_assert_equal(expected, actual, "Expected list object '#{get_name}' (#{get_locator})") :
37
+ assert_equal(expected, actual, "Expected list object '#{get_name}' (#{get_locator}) to be #{expected} but found #{actual}")
42
38
  end
43
39
  end
44
40
  end
@@ -2,13 +2,14 @@ module TestCentricity
2
2
  class Radio < UIElement
3
3
  attr_accessor :proxy
4
4
 
5
- def initialize(parent, locator, context, proxy = nil)
5
+ def initialize(name, parent, locator, context, proxy = nil)
6
+ @name = name
6
7
  @parent = parent
7
8
  @locator = locator
8
9
  @context = context
10
+ @alt_locator = nil
9
11
  @proxy = proxy
10
12
  @type = :radio
11
- @alt_locator = nil
12
13
  end
13
14
 
14
15
  # Does radio button object exists?
@@ -3,12 +3,9 @@ module TestCentricity
3
3
  attr_accessor :list_item
4
4
  attr_accessor :selected_item
5
5
 
6
- def initialize(parent, locator, context)
7
- @parent = parent
8
- @locator = locator
9
- @context = context
10
- @type = :selectlist
11
- @alt_locator = nil
6
+ def initialize(name, parent, locator, context)
7
+ super
8
+ @type = :selectlist
12
9
  list_spec = {
13
10
  :list_item => 'option',
14
11
  :selected_item => 'option[selected]'
@@ -104,8 +101,8 @@ module TestCentricity
104
101
  def verify_options(expected, enqueue = false)
105
102
  actual = get_options
106
103
  enqueue ?
107
- ExceptionQueue.enqueue_assert_equal(expected, actual, "Expected list of options in list #{@locator}") :
108
- assert_equal(expected, actual, "Expected list of options in list #{@locator} to be #{expected} but found #{actual}")
104
+ ExceptionQueue.enqueue_assert_equal(expected, actual, "Expected list of options in list object '#{get_name}' (#{get_locator})") :
105
+ assert_equal(expected, actual, "Expected list of options in list object '#{get_name}' (#{get_locator}) to be #{expected} but found #{actual}")
109
106
  end
110
107
 
111
108
  # Return text of first selected option in a select box object.
@@ -10,12 +10,9 @@ module TestCentricity
10
10
  attr_accessor :tree_expand
11
11
  attr_accessor :tree_collapse
12
12
 
13
- def initialize(parent, locator, context)
14
- @parent = parent
15
- @locator = locator
16
- @context = context
17
- @type = :table
18
- @alt_locator = nil
13
+ def initialize(name, parent, locator, context)
14
+ super
15
+ @type = :table
19
16
 
20
17
  table_spec = { :table_body => 'tbody',
21
18
  :table_section => nil,
@@ -102,9 +99,9 @@ module TestCentricity
102
99
  #
103
100
  def hover_table_cell(row, column)
104
101
  row_count = get_row_count
105
- raise "Row #{row} exceeds number of rows (#{row_count}) in table #{@locator}" if row > row_count
102
+ raise "Row #{row} exceeds number of rows (#{row_count}) in table object '#{get_name}' (#{get_locator})" if row > row_count
106
103
  column_count = get_column_count
107
- raise "Column #{column} exceeds number of columns (#{column_count}) in table #{@locator}" if column > column_count
104
+ raise "Column #{column} exceeds number of columns (#{column_count}) in table object '#{get_name}' (#{get_locator})" if column > column_count
108
105
  set_table_cell_locator(row, column)
109
106
  hover
110
107
  clear_alt_locator
@@ -119,9 +116,9 @@ module TestCentricity
119
116
  #
120
117
  def click_table_cell(row, column)
121
118
  row_count = get_row_count
122
- raise "Row #{row} exceeds number of rows (#{row_count}) in table #{@locator}" if row > row_count
119
+ raise "Row #{row} exceeds number of rows (#{row_count}) in table object '#{get_name}' (#{get_locator})" if row > row_count
123
120
  column_count = get_column_count
124
- raise "Column #{column} exceeds number of columns (#{column_count}) in table #{@locator}" if column > column_count
121
+ raise "Column #{column} exceeds number of columns (#{column_count}) in table object '#{get_name}' (#{get_locator})" if column > column_count
125
122
  set_table_cell_locator(row, column)
126
123
  click
127
124
  clear_alt_locator
@@ -136,9 +133,9 @@ module TestCentricity
136
133
  #
137
134
  def double_click_table_cell(row, column)
138
135
  row_count = get_row_count
139
- raise "Row #{row} exceeds number of rows (#{row_count}) in table #{@locator}" if row > row_count
136
+ raise "Row #{row} exceeds number of rows (#{row_count}) in table object '#{get_name}' (#{get_locator})" if row > row_count
140
137
  column_count = get_column_count
141
- raise "Column #{column} exceeds number of columns (#{column_count}) in table #{@locator}" if column > column_count
138
+ raise "Column #{column} exceeds number of columns (#{column_count}) in table object '#{get_name}' (#{get_locator})" if column > column_count
142
139
  set_table_cell_locator(row, column)
143
140
  double_click
144
141
  clear_alt_locator
@@ -153,9 +150,9 @@ module TestCentricity
153
150
  #
154
151
  def click_table_cell_link(row, column)
155
152
  row_count = get_row_count
156
- raise "Row #{row} exceeds number of rows (#{row_count}) in table #{@locator}" if row > row_count
153
+ raise "Row #{row} exceeds number of rows (#{row_count}) in table object '#{get_name}' (#{get_locator})" if row > row_count
157
154
  column_count = get_column_count
158
- raise "Column #{column} exceeds number of columns (#{column_count}) in table #{@locator}" if column > column_count
155
+ raise "Column #{column} exceeds number of columns (#{column_count}) in table object '#{get_name}' (#{get_locator})" if column > column_count
159
156
  set_table_cell_locator(row, column)
160
157
  saved_locator = @alt_locator
161
158
  set_alt_locator("#{@alt_locator}/a")
@@ -177,7 +174,7 @@ module TestCentricity
177
174
  def get_table_row(row)
178
175
  columns = []
179
176
  row_count = get_row_count
180
- raise "Row #{row} exceeds number of rows (#{row_count}) in table #{@locator}" if row > row_count
177
+ raise "Row #{row} exceeds number of rows (#{row_count}) in table object '#{get_name}' (#{get_locator})" if row > row_count
181
178
  column_count = get_column_count
182
179
  (1..column_count).each do |column|
183
180
  value = ''
@@ -197,7 +194,7 @@ module TestCentricity
197
194
 
198
195
  def get_row_data(row)
199
196
  row_count = get_row_count
200
- raise "Row #{row} exceeds number of rows (#{row_count}) in table #{@locator}" if row > row_count
197
+ raise "Row #{row} exceeds number of rows (#{row_count}) in table object '#{get_name}' (#{get_locator})" if row > row_count
201
198
  (row > 1) ?
202
199
  set_alt_locator("#{@locator}/#{@table_body}/#{@table_row}[#{row}]") :
203
200
  set_alt_locator("#{@locator}/#{@table_body}/#{@table_row}")
@@ -209,7 +206,7 @@ module TestCentricity
209
206
  def get_table_column(column)
210
207
  rows = []
211
208
  column_count = get_column_count
212
- raise "Column #{column} exceeds number of columns (#{column_count}) in table #{@locator}" if column > column_count
209
+ raise "Column #{column} exceeds number of columns (#{column_count}) in table object '#{get_name}' (#{get_locator})" if column > column_count
213
210
  row_count = get_row_count
214
211
  (1..row_count).each do |row|
215
212
  value = ''
@@ -237,9 +234,9 @@ module TestCentricity
237
234
  #
238
235
  def get_table_cell(row, column)
239
236
  row_count = get_row_count
240
- raise "Row #{row} exceeds number of rows (#{row_count}) in table #{@locator}" if row > row_count
237
+ raise "Row #{row} exceeds number of rows (#{row_count}) in table object '#{get_name}' (#{get_locator})" if row > row_count
241
238
  column_count = get_column_count
242
- raise "Column #{column} exceeds number of columns (#{column_count}) in table #{@locator}" if column > column_count
239
+ raise "Column #{column} exceeds number of columns (#{column_count}) in table object '#{get_name}' (#{get_locator})" if column > column_count
243
240
  set_table_cell_locator(row, column)
244
241
  saved_locator = @alt_locator
245
242
  set_alt_locator("#{saved_locator}/input")
@@ -260,8 +257,8 @@ module TestCentricity
260
257
  def verify_table_cell(row, column, expected, enqueue = false)
261
258
  actual = get_table_cell(row, column)
262
259
  enqueue ?
263
- ExceptionQueue.enqueue_assert_equal(expected.strip, actual.strip, "Expected #{@locator} row #{row}/column #{column}") :
264
- assert_equal(expected.strip, actual.strip, "Expected #{@locator} row #{row}/column #{column} to display '#{expected}' but found '#{actual}'")
260
+ ExceptionQueue.enqueue_assert_equal(expected.strip, actual.strip, "Expected table object '#{get_name}' (#{get_locator}) row #{row}/column #{column}") :
261
+ assert_equal(expected.strip, actual.strip, "Expected table object '#{get_name}' (#{get_locator}) row #{row}/column #{column} to display '#{expected}' but found '#{actual}'")
265
262
  end
266
263
 
267
264
  # Set the value of the specified cell in a table object.
@@ -274,7 +271,7 @@ module TestCentricity
274
271
  #
275
272
  def set_table_cell(row, column, value)
276
273
  row_count = get_row_count
277
- raise "Row #{row} exceeds number of rows (#{row_count}) in table #{@locator}" if row > row_count
274
+ raise "Row #{row} exceeds number of rows (#{row_count}) in table object '#{get_name}' (#{get_locator})" if row > row_count
278
275
  find_table_cell(row, column)
279
276
  find_table_cell(row, column) unless exists?
280
277
  set(value)
@@ -283,9 +280,9 @@ module TestCentricity
283
280
 
284
281
  def get_cell_attribute(row, column, attrib)
285
282
  row_count = get_row_count
286
- raise "Row #{row} exceeds number of rows (#{row_count}) in table #{@locator}" if row > row_count
283
+ raise "Row #{row} exceeds number of rows (#{row_count}) in table object '#{get_name}' (#{get_locator})" if row > row_count
287
284
  column_count = get_column_count
288
- raise "Column #{column} exceeds number of columns (#{column_count}) in table #{@locator}" if column > column_count
285
+ raise "Column #{column} exceeds number of columns (#{column_count}) in table object '#{get_name}' (#{get_locator})" if column > column_count
289
286
  set_table_cell_locator(row, column)
290
287
  result = get_native_attribute(attrib)
291
288
  clear_alt_locator
@@ -294,7 +291,7 @@ module TestCentricity
294
291
 
295
292
  def get_row_attribute(row, attrib)
296
293
  row_count = get_row_count
297
- raise "Row #{row} exceeds number of rows (#{row_count}) in table #{@locator}" if row > row_count
294
+ raise "Row #{row} exceeds number of rows (#{row_count}) in table object '#{get_name}' (#{get_locator})" if row > row_count
298
295
  (row > 1) ?
299
296
  set_alt_locator("#{@locator}/#{@table_body}/#{@table_row}[#{row}]") :
300
297
  set_alt_locator("#{@locator}/#{@table_body}/#{@table_row}")
@@ -378,7 +375,7 @@ module TestCentricity
378
375
  #
379
376
  def click_header_column(column)
380
377
  column_count = get_column_count
381
- raise "Column #{column} exceeds number of columns (#{column_count}) in table header #{@locator}" if column > column_count
378
+ raise "Column #{column} exceeds number of columns (#{column_count}) in table header object '#{get_name}' (#{get_locator})" if column > column_count
382
379
  set_alt_locator("#{@locator}//#{@table_header}/#{@header_row}/#{@header_column}[#{column}]")
383
380
  click if exists?
384
381
  clear_alt_locator
@@ -386,7 +383,7 @@ module TestCentricity
386
383
 
387
384
  def get_header_column(column)
388
385
  column_count = get_column_count
389
- raise "Column #{column} exceeds number of columns (#{column_count}) in table header #{@locator}" if column > column_count
386
+ raise "Column #{column} exceeds number of columns (#{column_count}) in table header object '#{get_name}' (#{get_locator})" if column > column_count
390
387
  set_alt_locator("#{@locator}//#{@table_header}/#{@header_row}/#{@header_column}[#{column}]")
391
388
  value = get_value(:all) if exists?(:all)
392
389
  clear_alt_locator
@@ -406,9 +403,9 @@ module TestCentricity
406
403
 
407
404
  def is_table_row_expanded?(row, column)
408
405
  row_count = get_row_count
409
- raise "Row #{row} exceeds number of rows (#{row_count}) in table #{@locator}" if row > row_count
406
+ raise "Row #{row} exceeds number of rows (#{row_count}) in table object '#{get_name}' (#{get_locator})" if row > row_count
410
407
  column_count = get_column_count
411
- raise "Column #{column} exceeds number of columns (#{column_count}) in table #{@locator}" if column > column_count
408
+ raise "Column #{column} exceeds number of columns (#{column_count}) in table object '#{get_name}' (#{get_locator})" if column > column_count
412
409
  set_table_cell_locator(row, column)
413
410
  set_alt_locator("#{@alt_locator}/#{@tree_expand}")
414
411
  expanded = true
@@ -438,7 +435,7 @@ module TestCentricity
438
435
  def expand_all_table_rows(column)
439
436
  row_count = get_row_count
440
437
  column_count = get_column_count
441
- raise "Column #{column} exceeds number of columns (#{column_count}) in table #{@locator}" if column > column_count
438
+ raise "Column #{column} exceeds number of columns (#{column_count}) in table object '#{get_name}' (#{get_locator})" if column > column_count
442
439
  row_count.downto(1) do |row|
443
440
  expand_table_row(row, column)
444
441
  end
@@ -1,11 +1,8 @@
1
1
  module TestCentricity
2
2
  class TextField < UIElement
3
- def initialize(parent, locator, context)
4
- @parent = parent
5
- @locator = locator
6
- @context = context
7
- @type = :textfield
8
- @alt_locator = nil
3
+ def initialize(name, parent, locator, context)
4
+ super
5
+ @type = :textfield
9
6
  end
10
7
 
11
8
  # Is text field set to read-only?
@@ -28,7 +28,7 @@ module TestCentricity
28
28
  # element :siebel_busy, "//html[contains(@class, 'siebui-busy')]"
29
29
  #
30
30
  def self.element(element_name, locator)
31
- class_eval(%Q(def #{element_name.to_s};@#{element_name.to_s} ||= TestCentricity::UIElement.new(self, "#{locator}", :page);end))
31
+ class_eval(%Q(def #{element_name.to_s};@#{element_name.to_s} ||= TestCentricity::UIElement.new("#{element_name}", self, "#{locator}", :page);end))
32
32
  end
33
33
 
34
34
  # Declare and instantiate a collection of generic UI Elements for this page object.
@@ -54,7 +54,7 @@ module TestCentricity
54
54
  # button :login_button, "//input[@id='submit_button']"
55
55
  #
56
56
  def self.button(element_name, locator)
57
- class_eval(%Q(def #{element_name.to_s};@#{element_name.to_s} ||= TestCentricity::Button.new(self, "#{locator}", :page);end))
57
+ class_eval(%Q(def #{element_name.to_s};@#{element_name.to_s} ||= TestCentricity::Button.new("#{element_name}", self, "#{locator}", :page);end))
58
58
  end
59
59
 
60
60
  # Declare and instantiate a collection of buttons for this page object.
@@ -80,7 +80,7 @@ module TestCentricity
80
80
  # textfield :password_field, 'consumer_password'
81
81
  #
82
82
  def self.textfield(element_name, locator)
83
- class_eval(%Q(def #{element_name.to_s};@#{element_name.to_s} ||= TestCentricity::TextField.new(self, "#{locator}", :page);end))
83
+ class_eval(%Q(def #{element_name.to_s};@#{element_name.to_s} ||= TestCentricity::TextField.new("#{element_name}", self, "#{locator}", :page);end))
84
84
  end
85
85
 
86
86
  # Declare and instantiate a collection of text fields for this page object.
@@ -109,7 +109,7 @@ module TestCentricity
109
109
  # checkbox :accept_terms_checkbox, 'input#accept_terms_conditions', :accept_terms_label
110
110
  #
111
111
  def self.checkbox(element_name, locator, proxy = nil)
112
- class_eval(%Q(def #{element_name.to_s};@#{element_name.to_s} ||= TestCentricity::CheckBox.new(self, "#{locator}", :page, #{proxy});end))
112
+ class_eval(%Q(def #{element_name.to_s};@#{element_name.to_s} ||= TestCentricity::CheckBox.new("#{element_name}", self, "#{locator}", :page, #{proxy});end))
113
113
  end
114
114
 
115
115
  # Declare and instantiate a collection of checkboxes for this page object.
@@ -137,7 +137,7 @@ module TestCentricity
137
137
  # radio :decline_terms_radio, '#decline_terms_conditions', :decline_terms_label
138
138
  #
139
139
  def self.radio(element_name, locator, proxy = nil)
140
- class_eval(%Q(def #{element_name.to_s};@#{element_name.to_s} ||= TestCentricity::Radio.new(self, "#{locator}", :page, #{proxy});end))
140
+ class_eval(%Q(def #{element_name.to_s};@#{element_name.to_s} ||= TestCentricity::Radio.new("#{element_name}", self, "#{locator}", :page, #{proxy});end))
141
141
  end
142
142
 
143
143
  # Declare and instantiate a collection of radio buttons for this page object.
@@ -164,7 +164,7 @@ module TestCentricity
164
164
  # label :rollup_price_label, "//div[contains(@id, 'Rollup Item Price')]"
165
165
  #
166
166
  def self.label(element_name, locator)
167
- class_eval(%Q(def #{element_name.to_s};@#{element_name.to_s} ||= TestCentricity::Label.new(self, "#{locator}", :page);end))
167
+ class_eval(%Q(def #{element_name.to_s};@#{element_name.to_s} ||= TestCentricity::Label.new("#{element_name}", self, "#{locator}", :page);end))
168
168
  end
169
169
 
170
170
  def self.labels(element_hash)
@@ -182,7 +182,7 @@ module TestCentricity
182
182
  # link :shopping_basket_link, "//a[@href='shopping_basket']"
183
183
  #
184
184
  def self.link(element_name, locator)
185
- class_eval(%Q(def #{element_name.to_s};@#{element_name.to_s} ||= TestCentricity::Link.new(self, "#{locator}", :page);end))
185
+ class_eval(%Q(def #{element_name.to_s};@#{element_name.to_s} ||= TestCentricity::Link.new("#{element_name}", self, "#{locator}", :page);end))
186
186
  end
187
187
 
188
188
  def self.links(element_hash)
@@ -199,7 +199,7 @@ module TestCentricity
199
199
  # table :payments_table, "//table[@class='payments_table']"
200
200
  #
201
201
  def self.table(element_name, locator)
202
- class_eval(%Q(def #{element_name.to_s};@#{element_name.to_s} ||= TestCentricity::Table.new(self, "#{locator}", :page);end))
202
+ class_eval(%Q(def #{element_name.to_s};@#{element_name.to_s} ||= TestCentricity::Table.new("#{element_name}", self, "#{locator}", :page);end))
203
203
  end
204
204
 
205
205
  def self.tables(element_hash)
@@ -217,7 +217,7 @@ module TestCentricity
217
217
  # selectlist :gender_select, "//select[@id='customer_gender']"
218
218
  #
219
219
  def self.selectlist(element_name, locator)
220
- class_eval(%Q(def #{element_name.to_s};@#{element_name.to_s} ||= TestCentricity::SelectList.new(self, "#{locator}", :page);end))
220
+ class_eval(%Q(def #{element_name.to_s};@#{element_name.to_s} ||= TestCentricity::SelectList.new("#{element_name}", self, "#{locator}", :page);end))
221
221
  end
222
222
 
223
223
  def self.selectlists(element_hash)
@@ -234,7 +234,7 @@ module TestCentricity
234
234
  # list :x_axis_list, 'g.x-axis'
235
235
  #
236
236
  def self.list(element_name, locator)
237
- class_eval(%Q(def #{element_name.to_s};@#{element_name.to_s} ||= TestCentricity::List.new(self, "#{locator}", :page);end))
237
+ class_eval(%Q(def #{element_name.to_s};@#{element_name.to_s} ||= TestCentricity::List.new("#{element_name}", self, "#{locator}", :page);end))
238
238
  end
239
239
 
240
240
  def self.lists(element_hash)
@@ -252,7 +252,7 @@ module TestCentricity
252
252
  # image :corporate_logo_image, "//img[@alt='MyCompany_logo']"
253
253
  #
254
254
  def self.image(element_name, locator)
255
- class_eval(%Q(def #{element_name.to_s};@#{element_name.to_s} ||= TestCentricity::Image.new(self, "#{locator}", :page);end))
255
+ class_eval(%Q(def #{element_name.to_s};@#{element_name.to_s} ||= TestCentricity::Image.new("#{element_name}", self, "#{locator}", :page);end))
256
256
  end
257
257
 
258
258
  def self.images(element_hash)
@@ -269,7 +269,7 @@ module TestCentricity
269
269
  # filefield :attach_file, 's_SweFileName'
270
270
  #
271
271
  def self.filefield(element_name, locator)
272
- class_eval(%Q(def #{element_name.to_s};@#{element_name.to_s} ||= TestCentricity::FileField.new(self, "#{locator}", :page);end))
272
+ class_eval(%Q(def #{element_name.to_s};@#{element_name.to_s} ||= TestCentricity::FileField.new("#{element_name}", self, "#{locator}", :page);end))
273
273
  end
274
274
 
275
275
  # Instantiate a single PageSection object for this page object.
@@ -280,7 +280,7 @@ module TestCentricity
280
280
  # section :search_form, SearchForm
281
281
  #
282
282
  def self.section(section_name, class_name, locator = nil)
283
- class_eval(%Q(def #{section_name.to_s};@#{section_name.to_s} ||= #{class_name.to_s}.new(self, "#{locator}", :page);end))
283
+ class_eval(%Q(def #{section_name.to_s};@#{section_name.to_s} ||= #{class_name.to_s}.new("#{section_name}", self, "#{locator}", :page);end))
284
284
  end
285
285
 
286
286
  def self.sections(section_hash)
@@ -424,7 +424,7 @@ module TestCentricity
424
424
  end
425
425
 
426
426
  if state.is_a?(Hash) && state.length == 1
427
- error_msg = "Expected #{ui_object.get_locator} #{property.to_s} property to"
427
+ error_msg = "Expected UI object '#{ui_object.get_name}' (#{ui_object.get_locator}) #{property.to_s} property to"
428
428
  state.each do |key, value|
429
429
  case key
430
430
  when :lt, :less_than
@@ -456,7 +456,7 @@ module TestCentricity
456
456
  end
457
457
  end
458
458
  else
459
- ExceptionQueue.enqueue_assert_equal(state, actual, "Expected #{ui_object.get_locator} #{property.to_s} property")
459
+ ExceptionQueue.enqueue_assert_equal(state, actual, "Expected UI object '#{ui_object.get_name}' (#{ui_object.get_locator}) #{property.to_s} property")
460
460
  end
461
461
  end
462
462
  end
@@ -6,11 +6,12 @@ module TestCentricity
6
6
  include Capybara::Node::Matchers
7
7
  include Test::Unit::Assertions
8
8
 
9
- attr_reader :locator, :context
9
+ attr_reader :locator, :context, :name
10
10
  attr_accessor :parent
11
11
 
12
- def initialize(parent, locator, context)
13
- @parent = parent
12
+ def initialize(name, parent, locator, context)
13
+ @name = name
14
+ @parent = parent
14
15
  @locator = locator
15
16
  @context = context
16
17
  end
@@ -36,7 +37,7 @@ module TestCentricity
36
37
  # element :basket_header, 'div.basket_header'
37
38
  #
38
39
  def self.element(element_name, locator)
39
- class_eval(%Q(def #{element_name.to_s};@#{element_name.to_s} ||= TestCentricity::UIElement.new(self, "#{locator}", :section);end))
40
+ class_eval(%Q(def #{element_name.to_s};@#{element_name.to_s} ||= TestCentricity::UIElement.new("#{element_name}", self, "#{locator}", :section);end))
40
41
  end
41
42
 
42
43
  # Declare and instantiate a collection of generic UI Elements for this page section.
@@ -62,7 +63,7 @@ module TestCentricity
62
63
  # button :login_button, "//input[@id='submit_button']"
63
64
  #
64
65
  def self.button(element_name, locator)
65
- class_eval(%Q(def #{element_name.to_s};@#{element_name.to_s} ||= TestCentricity::Button.new(self, "#{locator}", :section);end))
66
+ class_eval(%Q(def #{element_name.to_s};@#{element_name.to_s} ||= TestCentricity::Button.new("#{element_name}", self, "#{locator}", :section);end))
66
67
  end
67
68
 
68
69
  # Declare and instantiate a collection of buttons for this page section.
@@ -88,7 +89,7 @@ module TestCentricity
88
89
  # textfield :password_field, 'input#consumer_password'
89
90
  #
90
91
  def self.textfield(element_name, locator)
91
- class_eval(%Q(def #{element_name.to_s};@#{element_name.to_s} ||= TestCentricity::TextField.new(self, "#{locator}", :section);end))
92
+ class_eval(%Q(def #{element_name.to_s};@#{element_name.to_s} ||= TestCentricity::TextField.new("#{element_name}", self, "#{locator}", :section);end))
92
93
  end
93
94
 
94
95
  # Declare and instantiate a collection of text fields for this page section.
@@ -117,7 +118,7 @@ module TestCentricity
117
118
  # checkbox :accept_terms_checkbox, 'input#accept_terms_conditions', :accept_terms_label
118
119
  #
119
120
  def self.checkbox(element_name, locator, proxy = nil)
120
- class_eval(%Q(def #{element_name.to_s};@#{element_name.to_s} ||= TestCentricity::CheckBox.new(self, "#{locator}", :section, #{proxy});end))
121
+ class_eval(%Q(def #{element_name.to_s};@#{element_name.to_s} ||= TestCentricity::CheckBox.new("#{element_name}", self, "#{locator}", :section, #{proxy});end))
121
122
  end
122
123
 
123
124
  # Declare and instantiate a collection of checkboxes for this page section.
@@ -145,7 +146,7 @@ module TestCentricity
145
146
  # radio :decline_terms_radio, 'input#decline_terms_conditions', :decline_terms_label
146
147
  #
147
148
  def self.radio(element_name, locator, proxy = nil)
148
- class_eval(%Q(def #{element_name.to_s};@#{element_name.to_s} ||= TestCentricity::Radio.new(self, "#{locator}", :section, #{proxy});end))
149
+ class_eval(%Q(def #{element_name.to_s};@#{element_name.to_s} ||= TestCentricity::Radio.new("#{element_name}", self, "#{locator}", :section, #{proxy});end))
149
150
  end
150
151
 
151
152
  # Declare and instantiate a collection of radio buttons for this page section.
@@ -172,7 +173,7 @@ module TestCentricity
172
173
  # label :rollup_price_label, "//div[contains(@id, 'Rollup Item Price')]"
173
174
  #
174
175
  def self.label(element_name, locator)
175
- class_eval(%Q(def #{element_name.to_s};@#{element_name.to_s} ||= TestCentricity::Label.new(self, "#{locator}", :section);end))
176
+ class_eval(%Q(def #{element_name.to_s};@#{element_name.to_s} ||= TestCentricity::Label.new("#{element_name}", self, "#{locator}", :section);end))
176
177
  end
177
178
 
178
179
  def self.labels(element_hash)
@@ -190,7 +191,7 @@ module TestCentricity
190
191
  # link :shopping_basket_link, "//a[@href='shopping_basket']"
191
192
  #
192
193
  def self.link(element_name, locator)
193
- class_eval(%Q(def #{element_name.to_s};@#{element_name.to_s} ||= TestCentricity::Link.new(self, "#{locator}", :section);end))
194
+ class_eval(%Q(def #{element_name.to_s};@#{element_name.to_s} ||= TestCentricity::Link.new("#{element_name}", self, "#{locator}", :section);end))
194
195
  end
195
196
 
196
197
  def self.links(element_hash)
@@ -207,7 +208,7 @@ module TestCentricity
207
208
  # table :payments_table, "//table[@class='payments_table']"
208
209
  #
209
210
  def self.table(element_name, locator)
210
- class_eval(%Q(def #{element_name.to_s};@#{element_name.to_s} ||= TestCentricity::Table.new(self, "#{locator}", :section);end))
211
+ class_eval(%Q(def #{element_name.to_s};@#{element_name.to_s} ||= TestCentricity::Table.new("#{element_name}", self, "#{locator}", :section);end))
211
212
  end
212
213
 
213
214
  def self.tables(element_hash)
@@ -225,7 +226,7 @@ module TestCentricity
225
226
  # selectlist :gender_select, "//select[@id='customer_gender']"
226
227
  #
227
228
  def self.selectlist(element_name, locator)
228
- class_eval(%Q(def #{element_name.to_s};@#{element_name.to_s} ||= TestCentricity::SelectList.new(self, "#{locator}", :section);end))
229
+ class_eval(%Q(def #{element_name.to_s};@#{element_name.to_s} ||= TestCentricity::SelectList.new("#{element_name}", self, "#{locator}", :section);end))
229
230
  end
230
231
 
231
232
  def self.selectlists(element_hash)
@@ -242,7 +243,7 @@ module TestCentricity
242
243
  # list :y_axis_list, 'g.y_axis'
243
244
  #
244
245
  def self.list(element_name, locator)
245
- class_eval(%Q(def #{element_name.to_s};@#{element_name.to_s} ||= TestCentricity::List.new(self, "#{locator}", :section);end))
246
+ class_eval(%Q(def #{element_name.to_s};@#{element_name.to_s} ||= TestCentricity::List.new("#{element_name}", self, "#{locator}", :section);end))
246
247
  end
247
248
 
248
249
  def self.lists(element_hash)
@@ -260,7 +261,7 @@ module TestCentricity
260
261
  # image :corporate_logo_image, "//img[@alt='MyCompany_logo']"
261
262
  #
262
263
  def self.image(element_name, locator)
263
- class_eval(%Q(def #{element_name.to_s};@#{element_name.to_s} ||= TestCentricity::Image.new(self, "#{locator}", :section);end))
264
+ class_eval(%Q(def #{element_name.to_s};@#{element_name.to_s} ||= TestCentricity::Image.new("#{element_name}", self, "#{locator}", :section);end))
264
265
  end
265
266
 
266
267
  def self.images(element_hash)
@@ -277,7 +278,7 @@ module TestCentricity
277
278
  # filefield :attach_file, 's_SweFileName'
278
279
  #
279
280
  def self.filefield(element_name, locator)
280
- class_eval(%Q(def #{element_name.to_s};@#{element_name.to_s} ||= TestCentricity::FileField.new(self, "#{locator}", :section);end))
281
+ class_eval(%Q(def #{element_name.to_s};@#{element_name.to_s} ||= TestCentricity::FileField.new("#{element_name}", self, "#{locator}", :section);end))
281
282
  end
282
283
 
283
284
  # Instantiate a single PageSection object within this PageSection object.
@@ -288,7 +289,7 @@ module TestCentricity
288
289
  # section :search_form, SearchForm
289
290
  #
290
291
  def self.section(section_name, class_name, locator = nil)
291
- class_eval(%Q(def #{section_name.to_s};@#{section_name.to_s} ||= #{class_name.to_s}.new(self, "#{locator}", :section);end))
292
+ class_eval(%Q(def #{section_name.to_s};@#{section_name.to_s} ||= #{class_name.to_s}.new("#{section_name}", self, "#{locator}", :section);end))
292
293
  end
293
294
 
294
295
  def self.sections(section_hash)
@@ -302,6 +303,10 @@ module TestCentricity
302
303
  (@context == :section && !@parent.nil? && !@parent.get_locator.nil?) ? "#{@parent.get_locator}|#{locator}" : locator
303
304
  end
304
305
 
306
+ def get_name
307
+ @name
308
+ end
309
+
305
310
  def set_parent(parent)
306
311
  @parent = parent
307
312
  end
@@ -375,7 +380,7 @@ module TestCentricity
375
380
  wait = Selenium::WebDriver::Wait.new(timeout: timeout)
376
381
  wait.until { exists? }
377
382
  rescue
378
- raise "Could not find section #{get_locator} after #{timeout} seconds" unless exists?
383
+ raise "Could not find Section object '#{get_name}' (#{get_locator}) after #{timeout} seconds" unless exists?
379
384
  end
380
385
 
381
386
  # Wait until the Section object no longer exists, or until the specified wait time has expired.
@@ -389,7 +394,7 @@ module TestCentricity
389
394
  wait = Selenium::WebDriver::Wait.new(timeout: timeout)
390
395
  wait.until { !exists? }
391
396
  rescue
392
- raise "Section #{get_locator} remained visible after #{timeout} seconds" if exists?
397
+ raise "Section object '#{get_name}' (#{get_locator}) remained visible after #{timeout} seconds" if exists?
393
398
  end
394
399
 
395
400
  # Wait until the Section object is visible, or until the specified wait time has expired.
@@ -403,7 +408,7 @@ module TestCentricity
403
408
  wait = Selenium::WebDriver::Wait.new(timeout: timeout)
404
409
  wait.until { visible? }
405
410
  rescue
406
- raise "Could not find section #{get_locator} after #{timeout} seconds" unless visible?
411
+ raise "Could not find Section object '#{get_name}' (#{get_locator}) after #{timeout} seconds" unless visible?
407
412
  end
408
413
 
409
414
  # Wait until the Section object is hidden, or until the specified wait time has expired.
@@ -417,7 +422,7 @@ module TestCentricity
417
422
  wait = Selenium::WebDriver::Wait.new(timeout: timeout)
418
423
  wait.until { hidden? }
419
424
  rescue
420
- raise "section #{get_locator} remained visible after #{timeout} seconds" if visible?
425
+ raise "Section object '#{get_name}' (#{get_locator}) remained visible after #{timeout} seconds" if visible?
421
426
  end
422
427
 
423
428
  # Click at a specific location within a Section object
@@ -429,7 +434,7 @@ module TestCentricity
429
434
  #
430
435
  def click_at(x, y)
431
436
  section, _ = find_section
432
- raise "Section #{get_locator} not found" unless section
437
+ raise "Section object '#{get_name}' (#{get_locator}) not found" unless section
433
438
  section.click_at(x, y)
434
439
  end
435
440
 
@@ -490,7 +495,7 @@ module TestCentricity
490
495
  end
491
496
 
492
497
  if state.is_a?(Hash) && state.length == 1
493
- error_msg = "Expected #{ui_object.get_locator} #{property.to_s} property to"
498
+ error_msg = "Expected UI object '#{ui_object.get_name}' (#{ui_object.get_locator}) #{property.to_s} property to"
494
499
  state.each do |key, value|
495
500
  case key
496
501
  when :lt, :less_than
@@ -522,7 +527,7 @@ module TestCentricity
522
527
  end
523
528
  end
524
529
  else
525
- ExceptionQueue.enqueue_assert_equal(state, actual, "Expected #{ui_object.get_locator} #{property.to_s} property")
530
+ ExceptionQueue.enqueue_assert_equal(state, actual, "Expected UI object '#{ui_object.get_name}' (#{ui_object.get_locator}) #{property.to_s} property")
526
531
  end
527
532
  end
528
533
  end
@@ -573,13 +578,13 @@ module TestCentricity
573
578
 
574
579
  def get_attribute(attrib)
575
580
  section, _ = find_section
576
- raise "Section #{locator} not found" unless section
581
+ raise "Section object '#{get_name}' (#{get_locator}) not found" unless section
577
582
  section[attrib]
578
583
  end
579
584
 
580
585
  def get_native_attribute(attrib)
581
586
  section, _ = find_section
582
- raise "Section #{locator} not found" unless section
587
+ raise "Section object '#{get_name}' (#{get_locator}) not found" unless section
583
588
  section.native.attribute(attrib)
584
589
  end
585
590
 
@@ -22,14 +22,15 @@ module TestCentricity
22
22
  include Capybara::DSL
23
23
  include Test::Unit::Assertions
24
24
 
25
- attr_reader :parent, :locator, :context, :type
25
+ attr_reader :parent, :locator, :context, :type, :name
26
26
  attr_accessor :alt_locator
27
27
 
28
- def initialize(parent, locator, context)
29
- @parent = parent
30
- @locator = locator
31
- @context = context
32
- @type = nil
28
+ def initialize(name, parent, locator, context)
29
+ @name = name
30
+ @parent = parent
31
+ @locator = locator
32
+ @context = context
33
+ @type = nil
33
34
  @alt_locator = nil
34
35
  end
35
36
 
@@ -47,6 +48,10 @@ module TestCentricity
47
48
  @locator
48
49
  end
49
50
 
51
+ def get_name
52
+ @name
53
+ end
54
+
50
55
  def set_alt_locator(temp_locator)
51
56
  @alt_locator = temp_locator
52
57
  end
@@ -101,7 +106,7 @@ module TestCentricity
101
106
  #
102
107
  def click_at(x, y)
103
108
  obj, _ = find_element
104
- raise "Object #{@locator} not found" unless obj
109
+ raise "UI object '#{get_name}' (#{get_locator}) not found" unless obj
105
110
  obj.click_at(x, y)
106
111
  end
107
112
 
@@ -205,7 +210,7 @@ module TestCentricity
205
210
  wait = Selenium::WebDriver::Wait.new(timeout: timeout)
206
211
  wait.until { exists? }
207
212
  rescue
208
- raise "Could not find element #{@locator} after #{timeout} seconds" unless exists?
213
+ raise "Could not find UI object '#{get_name}' (#{get_locator}) after #{timeout} seconds" unless exists?
209
214
  end
210
215
 
211
216
  # Wait until the object no longer exists, or until the specified wait time has expired.
@@ -219,7 +224,7 @@ module TestCentricity
219
224
  wait = Selenium::WebDriver::Wait.new(timeout: timeout)
220
225
  wait.until { !exists? }
221
226
  rescue
222
- raise "Element #{@locator} remained visible after #{timeout} seconds" if exists?
227
+ raise "UI object '#{get_name}' (#{get_locator}) remained visible after #{timeout} seconds" if exists?
223
228
  end
224
229
 
225
230
  # Wait until the object is visible, or until the specified wait time has expired.
@@ -233,7 +238,7 @@ module TestCentricity
233
238
  wait = Selenium::WebDriver::Wait.new(timeout: timeout)
234
239
  wait.until { visible? }
235
240
  rescue
236
- raise "Could not find element #{@locator} after #{timeout} seconds" unless visible?
241
+ raise "Could not find UI object '#{get_name}' (#{get_locator}) after #{timeout} seconds" unless visible?
237
242
  end
238
243
 
239
244
  # Wait until the object is hidden, or until the specified wait time has expired.
@@ -247,7 +252,7 @@ module TestCentricity
247
252
  wait = Selenium::WebDriver::Wait.new(timeout: timeout)
248
253
  wait.until { hidden? }
249
254
  rescue
250
- raise "Element #{@locator} remained visible after #{timeout} seconds" if visible?
255
+ raise "UI object '#{get_name}' (#{get_locator}) remained visible after #{timeout} seconds" if visible?
251
256
  end
252
257
 
253
258
  # Wait until the object's value equals the specified value, or until the specified wait time has expired.
@@ -261,7 +266,7 @@ module TestCentricity
261
266
  wait = Selenium::WebDriver::Wait.new(timeout: timeout)
262
267
  wait.until { get_value == value }
263
268
  rescue
264
- raise "Value of UI element #{@locator} failed to equal '#{value}' after #{timeout} seconds" unless get_value == value
269
+ raise "Value of UI object '#{get_name}' (#{get_locator}) failed to equal '#{value}' after #{timeout} seconds" unless get_value == value
265
270
  end
266
271
 
267
272
  # Wait until the object's value changes to a different value, or until the specified wait time has expired.
@@ -276,7 +281,7 @@ module TestCentricity
276
281
  wait = Selenium::WebDriver::Wait.new(timeout: timeout)
277
282
  wait.until { get_value != value }
278
283
  rescue
279
- raise "Value of UI element #{@locator} failed to change from '#{value}' after #{timeout} seconds" if get_value == value
284
+ raise "Value of UI object '#{get_name}' (#{get_locator}) failed to change from '#{value}' after #{timeout} seconds" if get_value == value
280
285
  end
281
286
 
282
287
  def get_value(visible = true)
@@ -295,8 +300,8 @@ module TestCentricity
295
300
  def verify_value(expected, enqueue = false)
296
301
  actual = get_value
297
302
  enqueue ?
298
- ExceptionQueue.enqueue_assert_equal(expected.strip, actual.strip, "Expected #{@locator}") :
299
- assert_equal(expected.strip, actual.strip, "Expected #{@locator} to display '#{expected}' but found '#{actual}'")
303
+ ExceptionQueue.enqueue_assert_equal(expected.strip, actual.strip, "Expected UI object '#{get_name}' (#{get_locator})") :
304
+ assert_equal(expected.strip, actual.strip, "Expected UI object '#{get_name}' (#{get_locator}) to display '#{expected}' but found '#{actual}'")
300
305
  end
301
306
 
302
307
  alias :verify_caption :verify_value
@@ -387,7 +392,7 @@ module TestCentricity
387
392
  def object_not_found_exception(obj, obj_type)
388
393
  @alt_locator.nil? ? locator = @locator : locator = @alt_locator
389
394
  obj_type.nil? ? object_type = "Object" : object_type = obj_type
390
- raise "#{object_type} #{locator} not found" unless obj
395
+ raise "#{object_type} named '#{@name}' (#{locator}) not found" unless obj
391
396
  end
392
397
 
393
398
  def invalid_object_type_exception(obj, obj_type)
@@ -1,3 +1,3 @@
1
1
  module TestCentricityWeb
2
- VERSION = '1.0.10'
2
+ VERSION = '1.0.11'
3
3
  end
@@ -45,7 +45,9 @@ module TestCentricity
45
45
  end
46
46
 
47
47
  # set browser window size only if testing with a desktop web browser
48
- initialize_browser_size unless Capybara.current_driver == :poltergeist || Capybara.current_driver == :appium
48
+ unless Environ.is_device? || Capybara.current_driver == :poltergeist
49
+ initialize_browser_size
50
+ end
49
51
 
50
52
  puts "Using #{Environ.browser.to_s} browser via #{context}"
51
53
  end
@@ -185,6 +187,7 @@ module TestCentricity
185
187
  elsif ENV['CB_PLATFORM']
186
188
  capabilities['os_api_name'] = ENV['CB_PLATFORM']
187
189
  Environ.set_device_type(ENV['CB_PLATFORM'])
190
+ Environ.set_device(true)
188
191
  Environ.set_platform(:mobile)
189
192
  end
190
193
  Capybara::Selenium::Driver.new(app, :browser => :remote, :url => endpoint, :desired_capabilities => capabilities)
@@ -284,6 +287,7 @@ module TestCentricity
284
287
  capabilities['platformName'] = ENV['TB_PLATFORM']
285
288
  capabilities['deviceName'] = ENV['TB_DEVICE']
286
289
  Environ.set_device_type(ENV['TB_DEVICE'])
290
+ Environ.set_device(true)
287
291
  Environ.set_platform(:mobile)
288
292
  else
289
293
  Environ.set_platform(:desktop)
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: 1.0.10
4
+ version: 1.0.11
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-10-04 00:00:00.000000000 Z
11
+ date: 2016-10-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler