testcentricity_web 4.1.5 → 4.1.6

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.
Files changed (37) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +18 -0
  3. data/.simplecov +5 -0
  4. data/CHANGELOG.md +14 -0
  5. data/Gemfile.lock +59 -1
  6. data/README.md +14 -6
  7. data/Rakefile +37 -1
  8. data/config/cucumber.yml +150 -0
  9. data/docker-compose-v3.yml +48 -0
  10. data/features/basic_test_page_css.feature +24 -0
  11. data/features/basic_test_page_xpath.feature +24 -0
  12. data/features/step_definitions/generic_steps.rb.rb +37 -0
  13. data/features/support/env.rb +43 -0
  14. data/features/support/hooks.rb +245 -0
  15. data/features/support/pages/basic_css_test_page.rb +49 -0
  16. data/features/support/pages/basic_test_page.rb +238 -0
  17. data/features/support/pages/basic_xpath_test_page.rb +49 -0
  18. data/features/support/pages/media_page.rb +11 -0
  19. data/features/support/world_pages.rb +15 -0
  20. data/lib/testcentricity_web/data_objects/environment.rb +4 -0
  21. data/lib/testcentricity_web/version.rb +1 -1
  22. data/lib/testcentricity_web/web_core/page_object.rb +13 -6
  23. data/lib/testcentricity_web/web_core/page_objects_helper.rb +41 -8
  24. data/lib/testcentricity_web/web_core/page_section.rb +1 -16
  25. data/lib/testcentricity_web/web_elements/select_list.rb +11 -3
  26. data/lib/testcentricity_web/web_elements/ui_elements_helper.rb +13 -0
  27. data/reports/.keep +1 -0
  28. data/test_site/basic_test_page.html +240 -0
  29. data/test_site/images/Granny.jpg +0 -0
  30. data/test_site/images/Wilder.jpg +0 -0
  31. data/test_site/images/You_Betcha.jpg +0 -0
  32. data/test_site/media/MP4_small.mp4 +0 -0
  33. data/test_site/media/MPS_sample.mp3 +0 -0
  34. data/test_site/media_page.html +33 -0
  35. data/testcentricity_web.gemspec +5 -0
  36. metadata +104 -4
  37. data/test_site/test_page.html +0 -11
@@ -6,6 +6,26 @@ module TestCentricity
6
6
  include Capybara::Node::Matchers
7
7
  include Test::Unit::Assertions
8
8
 
9
+ attr_accessor :locator_type
10
+
11
+ XPATH_SELECTORS = ['//', '[@', '[contains(']
12
+ CSS_SELECTORS = ['#', ':nth-child(', ':first-child', ':last-child', ':nth-of-type(', ':first-of-type', ':last-of-type', '^=', '$=', '*=', ':contains(']
13
+
14
+ def set_locator_type(locator = nil)
15
+ locator = @locator if locator.nil?
16
+ is_xpath = XPATH_SELECTORS.any? { |selector| locator.include?(selector) }
17
+ is_css = CSS_SELECTORS.any? { |selector| locator.include?(selector) }
18
+ @locator_type = if is_xpath && !is_css
19
+ :xpath
20
+ elsif is_css && !is_xpath
21
+ :css
22
+ elsif !is_css && !is_xpath
23
+ :css
24
+ else
25
+ :css
26
+ end
27
+ end
28
+
9
29
  # Define a trait for this page or section object.
10
30
  #
11
31
  # @param trait_name [Symbol] name of trait (as a symbol)
@@ -31,6 +51,8 @@ module TestCentricity
31
51
  ui_object.get_attribute(:name)
32
52
  when :title
33
53
  ui_object.title
54
+ when :secure
55
+ ui_object.secure?
34
56
  when :exists
35
57
  ui_object.exists?
36
58
  when :enabled
@@ -63,6 +85,8 @@ module TestCentricity
63
85
  ui_object.indeterminate?
64
86
  when :value, :caption
65
87
  ui_object.get_value
88
+ when :required
89
+ ui_object.required?
66
90
  when :maxlength
67
91
  ui_object.get_max_length
68
92
  when :rowcount
@@ -241,8 +265,11 @@ module TestCentricity
241
265
  end
242
266
 
243
267
  # Populate the specified UI elements on this page or section object with the associated data from a Hash passed as an
244
- # argument. Data values must be in the form of a String for textfield and selectlist controls. For checkbox and radio
245
- # buttons, data must either be a Boolean or a String that evaluates to a Boolean value (Yes, No, 1, 0, true, false).
268
+ # argument. Data values must be in the form of a String for textfield, selectlist, and filefield controls. For checkbox
269
+ # and radio buttons, data must either be a Boolean or a String that evaluates to a Boolean value (Yes, No, 1, 0, true,
270
+ # false). For range controls, data must be an Integer. For input(type='color') color picker controls, which are specified
271
+ # as a textfield, data must be in the form of a hex color String. For section objects, data values must be a String, and
272
+ # the section object must have a set method defined.
246
273
  #
247
274
  # The optional wait_time parameter is used to specify the time (in seconds) to wait for each UI element to become
248
275
  # visible before entering the associated data value. This option is useful in situations where entering data, or
@@ -285,14 +312,20 @@ module TestCentricity
285
312
  check_state = data_param.is_a?(String) ? data_param.to_bool : data_param
286
313
  data_field.set_selected_state(check_state)
287
314
  when :textfield
288
- data_field.set("#{data_param}\t")
289
- if integrity_check && data_field.get_value != data_param
290
- data_field.set('')
291
- data_field.send_keys(data_param)
292
- data_field.send_keys(:tab)
315
+ if data_field.get_attribute(:type) == 'color'
316
+ data_field.set(data_param)
317
+ else
318
+ data_field.set("#{data_param}\t")
319
+ if integrity_check && data_field.get_value != data_param
320
+ data_field.set('')
321
+ data_field.send_keys(data_param)
322
+ data_field.send_keys(:tab)
323
+ end
293
324
  end
294
- when :section
325
+ when :section, :range
295
326
  data_field.set(data_param)
327
+ when :filefield
328
+ data_field.file_upload(data_param)
296
329
  end
297
330
  end
298
331
  end
@@ -5,10 +5,6 @@ module TestCentricity
5
5
  attr_accessor :parent
6
6
  attr_accessor :parent_list
7
7
  attr_accessor :list_index
8
- attr_accessor :locator_type
9
-
10
- XPATH_SELECTORS = ['//', '[@', '[contains(']
11
- CSS_SELECTORS = ['#', ':nth-child(', ':first-child', ':last-child', ':nth-of-type(', ':first-of-type', ':last-of-type', '^=', '$=', '*=', ':contains(']
12
8
 
13
9
  def initialize(name, parent, locator, context)
14
10
  @name = name
@@ -17,18 +13,7 @@ module TestCentricity
17
13
  @context = context
18
14
  @parent_list = nil
19
15
  @list_index = nil
20
-
21
- is_xpath = XPATH_SELECTORS.any? { |selector| @locator.include?(selector) }
22
- is_css = CSS_SELECTORS.any? { |selector| @locator.include?(selector) }
23
- @locator_type = if is_xpath && !is_css
24
- :xpath
25
- elsif is_css && !is_xpath
26
- :css
27
- elsif !is_css && !is_xpath
28
- :css
29
- else
30
- :css
31
- end
16
+ set_locator_type
32
17
  end
33
18
 
34
19
  def get_locator
@@ -246,15 +246,23 @@ module TestCentricity
246
246
  def get_selected_option
247
247
  @base_object, = find_element
248
248
  object_not_found_exception(@base_object, nil)
249
- trigger_list
249
+ trigger_list unless @options_list.nil?
250
250
  selection = if @base_object.first(:css, @list_item, minimum: 0, wait: 1, visible: :all)
251
251
  @base_object.first(:css, @selected_item, wait: 1, visible: :all).text
252
252
  elsif @base_object.first(:css, @selected_item, minimum: 0, wait: 1, visible: :all)
253
253
  @base_object.first(:css, @selected_item, visible: :all).text
254
+ elsif @base_object.first('option[selected]', minimum: 0, wait: 1, visible: :all)
255
+ @base_object.first('option[selected]', wait: 1, visible: :all).text
254
256
  else
255
- @base_object.first('option[selected]', visible: :all).text
257
+ index = get_attribute(:selectedIndex).to_i
258
+ if index >= 0
259
+ options = get_options
260
+ options[index]
261
+ else
262
+ ''
263
+ end
256
264
  end
257
- trigger_list
265
+ trigger_list unless @options_list.nil?
258
266
  selection
259
267
  end
260
268
 
@@ -264,6 +264,19 @@ module TestCentricity
264
264
  obj.disabled?
265
265
  end
266
266
 
267
+ # Is UI object's required attribute set?
268
+ #
269
+ # @return [Boolean]
270
+ # @example
271
+ # first_name_field.required?
272
+ #
273
+ def required?
274
+ obj, type = find_element
275
+ object_not_found_exception(obj, type)
276
+ state = get_attribute(:required)
277
+ state.boolean? ? state : state == 'true'
278
+ end
279
+
267
280
  # Is UI object obscured (not currently in viewport and not clickable)?
268
281
  #
269
282
  # @return [Boolean]
data/reports/.keep ADDED
@@ -0,0 +1 @@
1
+ Placeholder file to allow the reports folder to be saved to repository. This folder is required for Jenkins test jobs using the Cucumber Reporting plug-in.
@@ -0,0 +1,240 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <title>Basic HTML Form</title>
6
+ <style>
7
+ table {
8
+ font-family: arial, sans-serif;
9
+ font-size: 15px;
10
+ border-collapse: collapse;
11
+ width: 85%;
12
+ }
13
+ td, th {
14
+ border: 1px solid #dddddd;
15
+ text-align: left;
16
+ padding: 8px;
17
+ }
18
+ </style>
19
+ </head>
20
+ <body>
21
+ <div class="page-body">
22
+ <h1>Basic HTML Form Example</h1>
23
+ <div class="centered">
24
+ <form name="HTMLFormElements" id="HTMLFormElements">
25
+ <table border="1" cellpadding="5">
26
+ <tr>
27
+ <td>
28
+ <table>
29
+ <label id="inputs">Inputs:</label>
30
+ <tbody>
31
+ <tr>
32
+ <td>
33
+ <label for="username">Username:</label>
34
+ <input type="text" id="username" name="username" placeholder="User name" required>
35
+ </td>
36
+ <td>
37
+ <label for="password">Password:</label>
38
+ <input type="password" id="password" name="password" placeholder="Password" required>
39
+ </td>
40
+ <td>
41
+ <label for="maxlength">Max Length:</label>
42
+ <input type="text" id="maxlength" name="maxlength" placeholder="up to 64 characters" maxlength="64">
43
+ </td>
44
+ </tr>
45
+ <tr>
46
+ <td>
47
+ <label for="readonly">Read Only:</label>
48
+ <input type="text" id="readonly" name="readonly" value="I am a read only text field" readonly>
49
+ </td>
50
+ <td>
51
+ <label for="number-field">Number:</label>
52
+ <input id="number-field" type="number" name="number" min="10" max="1024" step="1" value="41">
53
+ </td>
54
+ <td>
55
+ <label for="color-picker">Color: </label>
56
+ <input id="color-picker" type="color" name="color">
57
+ </td>
58
+ </tr>
59
+ <tr>
60
+ <td>
61
+ <label for="slider">Range: </label>
62
+ <input id="slider" type="range" name="slider" min="0" max="50">
63
+ </td>
64
+ <td>
65
+ </td>
66
+ <td>
67
+ </td>
68
+ </tr>
69
+ </tbody>
70
+ </table>
71
+ </td>
72
+ </tr>
73
+
74
+
75
+ <tr>
76
+ <td>
77
+ <label for="comments">TextArea:</label>
78
+ <textarea id="comments" name="comments" cols="80" rows="3"></textarea>
79
+ </td>
80
+ </tr>
81
+
82
+ <tr>
83
+ <td>
84
+ <label for="filename">Filename:</label>
85
+ <input type="file" id="filename" name="filename" size="35">
86
+ </td>
87
+ </tr>
88
+
89
+ <tr>
90
+ <td>
91
+ <label id="checkboxes">Checkbox Items:</label>
92
+ <input type="checkbox" id="check1" name="checkboxes[]" value="cb1" />Checkbox 1
93
+ <input type="checkbox" id="check2" name="checkboxes[]" value="cb2" />Checkbox 2
94
+ <input type="checkbox" id="check3" name="checkboxes[]" value="cb3" />Checkbox 3
95
+ <input type="checkbox" id="check4" name="checkboxes[]" value="cb4" disabled/>Checkbox 4
96
+ </td>
97
+ </tr>
98
+
99
+ <tr>
100
+ <td>
101
+ <label id="radios">Radio Items:</label>
102
+ <input type="radio" id="radio1" name="radioval" value="rd1" />radio 1
103
+ <input type="radio" id="radio2" name="radioval" value="rd2" />radio 2
104
+ <input type="radio" id="radio3" name="radioval" value="rd3" />radio 3
105
+ <input type="radio" id="radio4" name="radioval" value="rd4" disabled/>radio 4
106
+ </td>
107
+ </tr>
108
+
109
+ <tr>
110
+ <td>
111
+ <label for="multipleselect">Multiple Select Values:</label>
112
+ <select multiple="multiple" id="multipleselect" name="multipleselect" size="4">
113
+ <option value="ms1">Selection Item 1</option>
114
+ <option value="ms2">Selection Item 2</option>
115
+ <option value="ms3">Selection Item 3</option>
116
+ <option value="ms4">Selection Item 4</option>
117
+ </select>
118
+ </td>
119
+ </tr>
120
+
121
+ <tr>
122
+ <td>
123
+ <label for="dropdown">Dropdown:</label>
124
+ <select id="dropdown" name="dropdown">
125
+ <option value="dd1">Drop Down Item 1</option>
126
+ <option value="dd2">Drop Down Item 2</option>
127
+ <option value="dd3">Drop Down Item 3</option>
128
+ <option value="dd4">Drop Down Item 4</option>
129
+ <option value="dd5">Drop Down Item 5</option>
130
+ <option value="dd6">Drop Down Item 6</option>
131
+ </select>
132
+ </td>
133
+ </tr>
134
+
135
+ <tr>
136
+ <td>
137
+ <label for="table">Table:</label>
138
+ <table id="table">
139
+ <thead>
140
+ <tr>
141
+ <th>Company</th>
142
+ <th>Contact</th>
143
+ <th>Country</th>
144
+ </tr>
145
+ </thead>
146
+ <tbody>
147
+ <tr>
148
+ <td>Alfreds Futterkiste</td>
149
+ <td>Maria Anders</td>
150
+ <td>Germany</td>
151
+ </tr>
152
+ <tr>
153
+ <td>Centro comercial Moctezuma</td>
154
+ <td>Francisco Chang</td>
155
+ <td>Mexico</td>
156
+ </tr>
157
+ <tr>
158
+ <td>Ernst Handel</td>
159
+ <td>Roland Mendel</td>
160
+ <td>Austria</td>
161
+ </tr>
162
+ <tr>
163
+ <td>Island Trading</td>
164
+ <td>Helen Bennett</td>
165
+ <td>UK</td>
166
+ </tr>
167
+ </tbody>
168
+ </table>
169
+ </td>
170
+ </tr>
171
+
172
+ <tr>
173
+ <td>
174
+ <table>
175
+ <label id="images">Images:</label>
176
+ <tbody>
177
+ <tr>
178
+ <td>
179
+ <img id="image1" src="images/Wilder.jpg" alt="It's alive" style="width:225px;height:225px;">
180
+ </td>
181
+ <td>
182
+ <img id="image2" src="images/You_Betcha.jpg" alt="You Betcha" style="width:225px;height:225px;">
183
+ </td>
184
+ <td>
185
+ <img id="image3" src="wrongname.gif" alt="A broken image" style="width:225px;height:225px;">
186
+ </td>
187
+ </tr>
188
+ </tbody>
189
+ </table>
190
+ </td>
191
+ </tr>
192
+
193
+
194
+
195
+ <!-- <tr>-->
196
+ <!-- <td>-->
197
+ <!-- <div class="form-label">-->
198
+ <!-- <label for="date-picker">Date: </label>-->
199
+ <!-- <input id="date-picker" type="date" name="date">-->
200
+ <!-- </div>-->
201
+ <!-- </td>-->
202
+ <!-- </tr>-->
203
+ <!-- <tr>-->
204
+ <!-- <td>-->
205
+ <!-- <div class="form-label">-->
206
+ <!-- <label for="date-time-picker">Local date time:</label>-->
207
+ <!-- <input id="date-time-picker" type="datetime-local" name="datetime" value="2018-01-01T01:01">-->
208
+ <!-- </div>-->
209
+ <!-- </td>-->
210
+ <!-- </tr>-->
211
+ <!-- <tr>-->
212
+ <!-- <td>-->
213
+ <!-- <div class="form-label">-->
214
+ <!-- <label for="email-field">Email: </label>-->
215
+ <!-- <input id="email-field" type="email" name="email" value="bob@mailinator.com">-->
216
+ <!-- </div>-->
217
+ <!-- </td>-->
218
+ <!-- </tr>-->
219
+ <!-- <tr>-->
220
+ <!-- <td>-->
221
+ <!-- <div class="form-label">-->
222
+ <!-- <label for="month-field">Month: </label>-->
223
+ <!-- <input id="month-field" type="month" name="month">-->
224
+ <!-- </div>-->
225
+ <!-- </td>-->
226
+ <!-- </tr>-->
227
+
228
+
229
+ <tr>
230
+ <td>
231
+ <input type="reset" id="cancel" name="cancel" value="Cancel" class="styled-click-button">
232
+ <input type="submit" id="submit" name="submit" value="Submit" class="styled-click-button">
233
+ </td>
234
+ </tr>
235
+ </table>
236
+ </form>
237
+ </div>
238
+ </div>
239
+ </body>
240
+ </html>
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1,33 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <title>Media Page</title>
6
+ <style>
7
+ table {
8
+ font-family: arial, sans-serif;
9
+ font-size: 15px;
10
+ border-collapse: collapse;
11
+ width: 85%;
12
+ }
13
+ td, th {
14
+ border: 1px solid #dddddd;
15
+ text-align: left;
16
+ padding: 8px;
17
+ }
18
+ </style>
19
+ </head>
20
+ <body>
21
+ <div class="media-page-body">
22
+ <h1>Media Page</h1>
23
+ <video id="video_player" width="400" controls>
24
+ <source src="media/MP4_small.mp4" type="video/mp4">
25
+ </video>
26
+
27
+ <audio id="audio_player" controls>
28
+ <source src="media/MPS_sample.mp3" type="audio/mp3">
29
+ </audio>
30
+
31
+ </div>
32
+ </body>
33
+ </html>
@@ -29,6 +29,11 @@ Gem::Specification.new do |spec|
29
29
 
30
30
  spec.add_development_dependency 'bundler'
31
31
  spec.add_development_dependency 'rake'
32
+ spec.add_development_dependency 'cucumber'
33
+ spec.add_development_dependency 'appium_capybara'
34
+ spec.add_development_dependency 'parallel_tests'
35
+ spec.add_development_dependency 'require_all'
36
+ spec.add_development_dependency 'simplecov', ['~> 0.18']
32
37
 
33
38
  spec.add_runtime_dependency 'appium_lib'
34
39
  spec.add_runtime_dependency 'browserstack-local'
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.1.5
4
+ version: 4.1.6
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: 2022-03-15 00:00:00.000000000 Z
11
+ date: 2022-03-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -38,6 +38,76 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: cucumber
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: appium_capybara
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: parallel_tests
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: require_all
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: simplecov
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '0.18'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '0.18'
41
111
  - !ruby/object:Gem::Dependency
42
112
  name: appium_lib
43
113
  requirement: !ruby/object:Gem::Requirement
@@ -254,6 +324,7 @@ files:
254
324
  - ".idea/vcs.xml"
255
325
  - ".rspec"
256
326
  - ".rubocop.yml"
327
+ - ".simplecov"
257
328
  - ".yardopts"
258
329
  - CHANGELOG.md
259
330
  - CODE_OF_CONDUCT.md
@@ -262,6 +333,18 @@ files:
262
333
  - LICENSE.md
263
334
  - README.md
264
335
  - Rakefile
336
+ - config/cucumber.yml
337
+ - docker-compose-v3.yml
338
+ - features/basic_test_page_css.feature
339
+ - features/basic_test_page_xpath.feature
340
+ - features/step_definitions/generic_steps.rb.rb
341
+ - features/support/env.rb
342
+ - features/support/hooks.rb
343
+ - features/support/pages/basic_css_test_page.rb
344
+ - features/support/pages/basic_test_page.rb
345
+ - features/support/pages/basic_xpath_test_page.rb
346
+ - features/support/pages/media_page.rb
347
+ - features/support/world_pages.rb
265
348
  - lib/devices/devices.yml
266
349
  - lib/testcentricity_web.rb
267
350
  - lib/testcentricity_web/appium_server.rb
@@ -294,7 +377,14 @@ files:
294
377
  - lib/testcentricity_web/web_elements/ui_elements_helper.rb
295
378
  - lib/testcentricity_web/web_elements/video.rb
296
379
  - lib/testcentricity_web/world_extensions.rb
297
- - test_site/test_page.html
380
+ - reports/.keep
381
+ - test_site/basic_test_page.html
382
+ - test_site/images/Granny.jpg
383
+ - test_site/images/Wilder.jpg
384
+ - test_site/images/You_Betcha.jpg
385
+ - test_site/media/MP4_small.mp4
386
+ - test_site/media/MPS_sample.mp3
387
+ - test_site/media_page.html
298
388
  - testcentricity_web.gemspec
299
389
  homepage: ''
300
390
  licenses:
@@ -321,4 +411,14 @@ signing_key:
321
411
  specification_version: 4
322
412
  summary: A Page Object and Data Object Model Framework for desktop and mobile web
323
413
  testing
324
- test_files: []
414
+ test_files:
415
+ - features/basic_test_page_css.feature
416
+ - features/basic_test_page_xpath.feature
417
+ - features/step_definitions/generic_steps.rb.rb
418
+ - features/support/env.rb
419
+ - features/support/hooks.rb
420
+ - features/support/pages/basic_css_test_page.rb
421
+ - features/support/pages/basic_test_page.rb
422
+ - features/support/pages/basic_xpath_test_page.rb
423
+ - features/support/pages/media_page.rb
424
+ - features/support/world_pages.rb
@@ -1,11 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="UTF-8">
5
- <title>Indexed Property Page</title>
6
- </head>
7
- <body>
8
-
9
-
10
- </body>
11
- </html>