testcentricity_web 4.1.5 → 4.1.6

Sign up to get free protection for your applications and to get access to all the features.
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>