testcentricity 3.0.2 → 3.0.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +26 -0
- data/README.md +1 -0
- data/lib/testcentricity/app_core/appium_connect_helper.rb +1 -0
- data/lib/testcentricity/app_core/screen_section.rb +0 -1
- data/lib/testcentricity/app_elements/alert.rb +64 -0
- data/lib/testcentricity/app_elements/app_element_helper.rb +56 -13
- data/lib/testcentricity/version.rb +1 -1
- metadata +7 -165
- data/.gitignore +0 -40
- data/.rspec +0 -4
- data/.rubocop.yml +0 -38
- data/.ruby-version +0 -1
- data/.simplecov +0 -9
- data/CODE_OF_CONDUCT.md +0 -13
- data/Gemfile +0 -6
- data/Rakefile +0 -63
- data/config/cucumber.yml +0 -145
- data/config/locales/en-US.yml +0 -56
- data/config/test_data/LOCAL_data.yml +0 -11
- data/config/test_data/data.yml +0 -10
- data/features/deep_links.feature +0 -26
- data/features/login.feature +0 -30
- data/features/navigation.feature +0 -31
- data/features/step_definitions/generic_steps.rb +0 -72
- data/features/support/android/screens/about_screen.rb +0 -11
- data/features/support/android/screens/base_app_screen.rb +0 -29
- data/features/support/android/screens/checkout_address_screen.rb +0 -17
- data/features/support/android/screens/checkout_payment_screen.rb +0 -22
- data/features/support/android/screens/login_screen.rb +0 -18
- data/features/support/android/screens/products_screen.rb +0 -13
- data/features/support/android/screens/saucebot_screen.rb +0 -16
- data/features/support/android/screens/webview_screen.rb +0 -13
- data/features/support/android/sections/nav_widgets/nav_menu.rb +0 -39
- data/features/support/env.rb +0 -61
- data/features/support/hooks.rb +0 -135
- data/features/support/ios/screens/about_screen.rb +0 -11
- data/features/support/ios/screens/base_app_screen.rb +0 -19
- data/features/support/ios/screens/checkout_address_screen.rb +0 -17
- data/features/support/ios/screens/checkout_payment_screen.rb +0 -22
- data/features/support/ios/screens/login_screen.rb +0 -18
- data/features/support/ios/screens/products_screen.rb +0 -13
- data/features/support/ios/screens/saucebot_screen.rb +0 -16
- data/features/support/ios/screens/webview_screen.rb +0 -13
- data/features/support/ios/sections/list_items/product_cell_item.rb +0 -13
- data/features/support/ios/sections/modals/base_modal.rb +0 -23
- data/features/support/ios/sections/modals/logout_modal.rb +0 -6
- data/features/support/ios/sections/modals/reset_app_state_modal.rb +0 -6
- data/features/support/ios/sections/nav_widgets/nav_bar.rb +0 -31
- data/features/support/ios/sections/nav_widgets/nav_menu.rb +0 -41
- data/features/support/shared_components/screens/base_app_screen.rb +0 -31
- data/features/support/shared_components/screens/checkout_address_screen.rb +0 -17
- data/features/support/shared_components/screens/checkout_payment_screen.rb +0 -22
- data/features/support/shared_components/screens/login_screen.rb +0 -39
- data/features/support/shared_components/screens/saucebot_screen.rb +0 -17
- data/features/support/shared_components/screens/webview_screen.rb +0 -12
- data/features/support/shared_components/sections/nav_menu.rb +0 -58
- data/features/support/world_data.rb +0 -12
- data/features/support/world_pages.rb +0 -26
- data/reports/.keep +0 -1
- data/spec/fixtures/page_object.rb +0 -22
- data/spec/fixtures/page_section_object.rb +0 -21
- data/spec/fixtures/screen_object.rb +0 -16
- data/spec/fixtures/screen_section_object.rb +0 -16
- data/spec/spec_helper.rb +0 -33
- data/spec/testcentricity/elements/button_spec.rb +0 -18
- data/spec/testcentricity/elements/checkbox_spec.rb +0 -28
- data/spec/testcentricity/elements/image_spec.rb +0 -13
- data/spec/testcentricity/elements/label_spec.rb +0 -18
- data/spec/testcentricity/elements/list_spec.rb +0 -13
- data/spec/testcentricity/elements/ui_element_spec.rb +0 -72
- data/spec/testcentricity/mobile/appium_connect_spec.rb +0 -117
- data/spec/testcentricity/mobile/screen_object_spec.rb +0 -63
- data/spec/testcentricity/mobile/screen_section_object_spec.rb +0 -56
- data/spec/testcentricity/version_spec.rb +0 -7
- data/spec/testcentricity/web/browser_spec.rb +0 -41
- data/spec/testcentricity/web/local_webdriver_spec.rb +0 -86
- data/spec/testcentricity/web/mobile_webdriver_spec.rb +0 -123
- data/spec/testcentricity/web/page_object_spec.rb +0 -85
- data/spec/testcentricity/web/page_section_object_spec.rb +0 -72
- data/testcentricity.gemspec +0 -50
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4be45cea70bc057c0f1e19cc43110526d6799560e80f0c833d01edf84d178ab5
|
4
|
+
data.tar.gz: a8cab6531bd2057e86096a87dbbfd0d92d453e4da9b4607c70f1bcedf6dcbc5c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ac8b2e9626dc495b771dba76d8742e18a907f0721faa715f34c508529cbd41fba7798bec02a164d2d650de772afc1b0ca5042e7932415491b8ba7052f50702a1
|
7
|
+
data.tar.gz: 51410e60617d58e6494b19c3838e3152a1208e4da4af0f1fd87d770fb112ff46de26bf8450b169e7a184d3b8cfe514976d6000d7ccb2331ac808182f9801fd48
|
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,32 @@
|
|
2
2
|
All notable changes to this project will be documented in this file.
|
3
3
|
|
4
4
|
|
5
|
+
## [3.0.5] - 12-JUNE-2022
|
6
|
+
|
7
|
+
### Fixed
|
8
|
+
* Fix `gemspec` to no longer include specs and cuke tests as part of deployment package for gem.
|
9
|
+
|
10
|
+
### Updated
|
11
|
+
* Incorporated all changes from the [TestCentricity™ Web gem](https://rubygems.org/gems/testcentricity_web) version 4.2.6, which is
|
12
|
+
bundled with this gem.
|
13
|
+
|
14
|
+
|
15
|
+
## [3.0.4] - 02-JUNE-2022
|
16
|
+
|
17
|
+
### Added
|
18
|
+
* Added `AppUIElement.wait_until_enabled` method.
|
19
|
+
|
20
|
+
### Updated
|
21
|
+
* Incorporated all changes from the [TestCentricity™ Web gem](https://rubygems.org/gems/testcentricity_web) version 4.2.4, which is
|
22
|
+
bundled with this gem.
|
23
|
+
|
24
|
+
|
25
|
+
## [3.0.3] - 30-MAY-2022
|
26
|
+
|
27
|
+
### Added
|
28
|
+
* Added `AppAlert.await_and_respond` method.
|
29
|
+
|
30
|
+
|
5
31
|
## [3.0.2] - 26-MAY-2022
|
6
32
|
|
7
33
|
### Fixed
|
data/README.md
CHANGED
@@ -536,6 +536,7 @@ With TestCentricity, all native app UI elements are based on the `AppUIElement`
|
|
536
536
|
element.wait_until_gone(seconds)
|
537
537
|
element.wait_until_visible(seconds)
|
538
538
|
element.wait_until_hidden(seconds)
|
539
|
+
element.wait_until_enabled(seconds)
|
539
540
|
element.wait_until_value_is(value, seconds)
|
540
541
|
element.wait_until_value_changes(seconds)
|
541
542
|
|
@@ -271,6 +271,7 @@ module TestCentricity
|
|
271
271
|
caps[:newCommandTimeout] = ENV['NEW_COMMAND_TIMEOUT'] if ENV['NEW_COMMAND_TIMEOUT']
|
272
272
|
caps[:noReset] = ENV['APP_NO_RESET'] if ENV['APP_NO_RESET']
|
273
273
|
caps[:fullReset] = ENV['APP_FULL_RESET'] if ENV['APP_FULL_RESET']
|
274
|
+
caps[:autoLaunch] = ENV['AUTO_LAUNCH'] if ENV['AUTO_LAUNCH']
|
274
275
|
caps[:webkitDebugProxyPort] = ENV['WEBKIT_DEBUG_PROXY_PORT'] if ENV['WEBKIT_DEBUG_PROXY_PORT']
|
275
276
|
caps[:webDriverAgentUrl] = ENV['WEBDRIVER_AGENT_URL'] if ENV['WEBDRIVER_AGENT_URL']
|
276
277
|
caps[:wdaLocalPort] = ENV['WDA_LOCAL_PORT'] if ENV['WDA_LOCAL_PORT']
|
@@ -5,6 +5,16 @@ module TestCentricity
|
|
5
5
|
@type = :alert
|
6
6
|
end
|
7
7
|
|
8
|
+
# Wait until the alert modal is visible, or until the specified wait time has expired. If the wait time is nil, then the
|
9
|
+
# wait time will be Environ.default_max_wait_time. Unlike wait_until_visible or wait_until_exists, this method does not
|
10
|
+
# raise an exception if the alert modal does not appear within the specified wait time.
|
11
|
+
# Returns true if the alert modal is visible.
|
12
|
+
#
|
13
|
+
# @return [Integer]
|
14
|
+
# @param seconds [Integer or Float] wait time in seconds
|
15
|
+
# @example
|
16
|
+
# permissions_modal.await(2)
|
17
|
+
#
|
8
18
|
def await(seconds)
|
9
19
|
timeout = seconds.nil? ? Environ.default_max_wait_time : seconds
|
10
20
|
wait = Selenium::WebDriver::Wait.new(timeout: timeout)
|
@@ -14,14 +24,68 @@ module TestCentricity
|
|
14
24
|
false
|
15
25
|
end
|
16
26
|
|
27
|
+
# Performs the action required accept the currently visible alert modal. If the alert modal is still visible after
|
28
|
+
# 5 seconds, an exception is raised.
|
29
|
+
#
|
30
|
+
# @example
|
31
|
+
# alert_modal.accept
|
32
|
+
#
|
17
33
|
def accept
|
18
34
|
alert_accept
|
19
35
|
wait_until_gone(5)
|
20
36
|
end
|
21
37
|
|
38
|
+
# Performs the action required dismiss the currently visible alert modal. If the alert modal is still visible after
|
39
|
+
# 5 seconds, an exception is raised.
|
40
|
+
#
|
41
|
+
# @example
|
42
|
+
# alert_modal.dismiss
|
43
|
+
#
|
22
44
|
def dismiss
|
23
45
|
alert_dismiss
|
24
46
|
wait_until_gone(5)
|
25
47
|
end
|
48
|
+
|
49
|
+
#
|
50
|
+
# @return [Integer]
|
51
|
+
# @param action [Symbol] action to perform if alert modal is visible. Acceptable values are :allow, :accept, :dont_allow, or :dismiss
|
52
|
+
# @param timeout [Integer or Float] wait time in seconds. Defaults to 2 if not specified
|
53
|
+
# @param button_name [String] optional caption of button to tap associated with the specified action
|
54
|
+
# @example
|
55
|
+
# alert_modal.await_and_respond(:dismiss)
|
56
|
+
# OR
|
57
|
+
# permissions_modal.await_and_respond(:accept, timeout = 1, button_name = 'Allow Once')
|
58
|
+
#
|
59
|
+
def await_and_respond(action, timeout = 2, button_name = nil)
|
60
|
+
if await(timeout)
|
61
|
+
case action
|
62
|
+
when :allow, :accept
|
63
|
+
if button_name.nil?
|
64
|
+
accept
|
65
|
+
elsif Environ.is_ios?
|
66
|
+
$driver.execute_script('mobile: alert', { action: 'accept', buttonLabel: button_name })
|
67
|
+
else
|
68
|
+
$driver.execute_script('mobile: acceptAlert', { buttonLabel: button_name })
|
69
|
+
end
|
70
|
+
when :dont_allow, :dismiss
|
71
|
+
if button_name.nil?
|
72
|
+
dismiss
|
73
|
+
elsif Environ.is_ios?
|
74
|
+
$driver.execute_script('mobile: alert', { action: 'dismiss', buttonLabel: button_name })
|
75
|
+
else
|
76
|
+
$driver.execute_script('mobile: dismissAlert', { buttonLabel: button_name })
|
77
|
+
end
|
78
|
+
else
|
79
|
+
raise "#{action} is not a valid selector"
|
80
|
+
end
|
81
|
+
if Environ.is_ios? && await(1)
|
82
|
+
buttons = $driver.execute_script('mobile: alert', { action: 'getButtons' })
|
83
|
+
raise "Could not perform #{action} action on active modal. Available modal buttons are #{buttons}"
|
84
|
+
end
|
85
|
+
true
|
86
|
+
else
|
87
|
+
false
|
88
|
+
end
|
89
|
+
end
|
26
90
|
end
|
27
91
|
end
|
@@ -174,12 +174,16 @@ module TestCentricity
|
|
174
174
|
# @example
|
175
175
|
# run_button.wait_until_exists(0.5)
|
176
176
|
#
|
177
|
-
def wait_until_exists(seconds = nil)
|
177
|
+
def wait_until_exists(seconds = nil, post_exception = true)
|
178
178
|
timeout = seconds.nil? ? Environ.default_max_wait_time : seconds
|
179
179
|
wait = Selenium::WebDriver::Wait.new(timeout: timeout)
|
180
180
|
wait.until { exists? }
|
181
181
|
rescue
|
182
|
-
|
182
|
+
if post_exception
|
183
|
+
raise "Could not find UI #{object_ref_message} after #{timeout} seconds" unless exists?
|
184
|
+
else
|
185
|
+
exists?
|
186
|
+
end
|
183
187
|
end
|
184
188
|
|
185
189
|
# Wait until the object no longer exists, or until the specified wait time has expired. If the wait time is nil, then
|
@@ -189,12 +193,16 @@ module TestCentricity
|
|
189
193
|
# @example
|
190
194
|
# logout_button.wait_until_gone(5)
|
191
195
|
#
|
192
|
-
def wait_until_gone(seconds = nil)
|
196
|
+
def wait_until_gone(seconds = nil, post_exception = true)
|
193
197
|
timeout = seconds.nil? ? Environ.default_max_wait_time : seconds
|
194
198
|
wait = Selenium::WebDriver::Wait.new(timeout: timeout)
|
195
199
|
wait.until { !exists? }
|
196
200
|
rescue
|
197
|
-
|
201
|
+
if post_exception
|
202
|
+
raise "UI #{object_ref_message} remained visible after #{timeout} seconds" if exists?
|
203
|
+
else
|
204
|
+
exists?
|
205
|
+
end
|
198
206
|
end
|
199
207
|
|
200
208
|
# Wait until the object is visible, or until the specified wait time has expired. If the wait time is nil, then the
|
@@ -204,12 +212,16 @@ module TestCentricity
|
|
204
212
|
# @example
|
205
213
|
# run_button.wait_until_visible(0.5)
|
206
214
|
#
|
207
|
-
def wait_until_visible(seconds = nil)
|
215
|
+
def wait_until_visible(seconds = nil, post_exception = true)
|
208
216
|
timeout = seconds.nil? ? Environ.default_max_wait_time : seconds
|
209
217
|
wait = Selenium::WebDriver::Wait.new(timeout: timeout)
|
210
218
|
wait.until { visible? }
|
211
219
|
rescue
|
212
|
-
|
220
|
+
if post_exception
|
221
|
+
raise "Could not find UI #{object_ref_message} after #{timeout} seconds" unless visible?
|
222
|
+
else
|
223
|
+
visible?
|
224
|
+
end
|
213
225
|
end
|
214
226
|
|
215
227
|
# Wait until the object is hidden, or until the specified wait time has expired. If the wait time is nil, then the
|
@@ -219,12 +231,35 @@ module TestCentricity
|
|
219
231
|
# @example
|
220
232
|
# run_button.wait_until_hidden(10)
|
221
233
|
#
|
222
|
-
def wait_until_hidden(seconds = nil)
|
234
|
+
def wait_until_hidden(seconds = nil, post_exception = true)
|
223
235
|
timeout = seconds.nil? ? Environ.default_max_wait_time : seconds
|
224
236
|
wait = Selenium::WebDriver::Wait.new(timeout: timeout)
|
225
237
|
wait.until { hidden? }
|
226
238
|
rescue
|
227
|
-
|
239
|
+
if post_exception
|
240
|
+
raise "UI #{object_ref_message} remained visible after #{timeout} seconds" if visible?
|
241
|
+
else
|
242
|
+
hidden?
|
243
|
+
end
|
244
|
+
end
|
245
|
+
|
246
|
+
# Wait until the object is enabled, or until the specified wait time has expired. If the wait time is nil, then the
|
247
|
+
# wait time will be Environ.default_max_wait_time.
|
248
|
+
#
|
249
|
+
# @param seconds [Integer or Float] wait time in seconds
|
250
|
+
# @example
|
251
|
+
# run_button.wait_until_enabled(10)
|
252
|
+
#
|
253
|
+
def wait_until_enabled(seconds = nil, post_exception = true)
|
254
|
+
timeout = seconds.nil? ? Environ.default_max_wait_time : seconds
|
255
|
+
wait = Selenium::WebDriver::Wait.new(timeout: timeout)
|
256
|
+
wait.until { enabled? }
|
257
|
+
rescue
|
258
|
+
if post_exception
|
259
|
+
raise "UI #{object_ref_message} remained disabled after #{timeout} seconds" unless enabled?
|
260
|
+
else
|
261
|
+
enabled?
|
262
|
+
end
|
228
263
|
end
|
229
264
|
|
230
265
|
# Wait until the object's value equals the specified value, or until the specified wait time has expired. If the wait
|
@@ -237,12 +272,16 @@ module TestCentricity
|
|
237
272
|
# or
|
238
273
|
# total_weight_field.wait_until_value_is({ :greater_than => '250' }, 5)
|
239
274
|
#
|
240
|
-
def wait_until_value_is(value, seconds = nil)
|
275
|
+
def wait_until_value_is(value, seconds = nil, post_exception = true)
|
241
276
|
timeout = seconds.nil? ? Environ.default_max_wait_time : seconds
|
242
277
|
wait = Selenium::WebDriver::Wait.new(timeout: timeout)
|
243
278
|
wait.until { compare(value, get_value) }
|
244
279
|
rescue
|
245
|
-
|
280
|
+
if post_exception
|
281
|
+
raise "Value of UI #{object_ref_message} failed to equal '#{value}' after #{timeout} seconds" unless get_value == value
|
282
|
+
else
|
283
|
+
get_value == value
|
284
|
+
end
|
246
285
|
end
|
247
286
|
|
248
287
|
# Wait until the object's value changes to a different value, or until the specified wait time has expired. If the
|
@@ -252,13 +291,17 @@ module TestCentricity
|
|
252
291
|
# @example
|
253
292
|
# basket_grand_total_label.wait_until_value_changes(5)
|
254
293
|
#
|
255
|
-
def wait_until_value_changes(seconds = nil)
|
294
|
+
def wait_until_value_changes(seconds = nil, post_exception = true)
|
256
295
|
value = get_value
|
257
296
|
timeout = seconds.nil? ? Environ.default_max_wait_time : seconds
|
258
297
|
wait = Selenium::WebDriver::Wait.new(timeout: timeout)
|
259
298
|
wait.until { get_value != value }
|
260
299
|
rescue
|
261
|
-
|
300
|
+
if post_exception
|
301
|
+
raise "Value of UI #{object_ref_message} failed to change from '#{value}' after #{timeout} seconds" if get_value == value
|
302
|
+
else
|
303
|
+
get_value == value
|
304
|
+
end
|
262
305
|
end
|
263
306
|
|
264
307
|
def width
|
@@ -307,7 +350,7 @@ module TestCentricity
|
|
307
350
|
obj = element
|
308
351
|
object_not_found_exception(obj)
|
309
352
|
if Environ.is_ios?
|
310
|
-
$driver.execute_script('mobile: scroll', direction: direction
|
353
|
+
$driver.execute_script('mobile: scroll', { direction: direction })
|
311
354
|
else
|
312
355
|
case direction
|
313
356
|
when :down
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: testcentricity
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0.
|
4
|
+
version: 3.0.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: 2022-
|
11
|
+
date: 2022-06-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -52,34 +52,6 @@ dependencies:
|
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '3.0'
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: curb
|
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: json
|
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
55
|
- !ruby/object:Gem::Dependency
|
84
56
|
name: parallel_tests
|
85
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -212,14 +184,14 @@ dependencies:
|
|
212
184
|
requirements:
|
213
185
|
- - ">="
|
214
186
|
- !ruby/object:Gem::Version
|
215
|
-
version: 4.2.
|
187
|
+
version: 4.2.6
|
216
188
|
type: :runtime
|
217
189
|
prerelease: false
|
218
190
|
version_requirements: !ruby/object:Gem::Requirement
|
219
191
|
requirements:
|
220
192
|
- - ">="
|
221
193
|
- !ruby/object:Gem::Version
|
222
|
-
version: 4.2.
|
194
|
+
version: 4.2.6
|
223
195
|
- !ruby/object:Gem::Dependency
|
224
196
|
name: test-unit
|
225
197
|
requirement: !ruby/object:Gem::Requirement
|
@@ -247,60 +219,10 @@ executables: []
|
|
247
219
|
extensions: []
|
248
220
|
extra_rdoc_files: []
|
249
221
|
files:
|
250
|
-
- ".gitignore"
|
251
|
-
- ".rspec"
|
252
|
-
- ".rubocop.yml"
|
253
|
-
- ".ruby-version"
|
254
|
-
- ".simplecov"
|
255
222
|
- ".yardopts"
|
256
223
|
- CHANGELOG.md
|
257
|
-
- CODE_OF_CONDUCT.md
|
258
|
-
- Gemfile
|
259
224
|
- LICENSE.md
|
260
225
|
- README.md
|
261
|
-
- Rakefile
|
262
|
-
- config/cucumber.yml
|
263
|
-
- config/locales/en-US.yml
|
264
|
-
- config/test_data/LOCAL_data.yml
|
265
|
-
- config/test_data/data.yml
|
266
|
-
- features/deep_links.feature
|
267
|
-
- features/login.feature
|
268
|
-
- features/navigation.feature
|
269
|
-
- features/step_definitions/generic_steps.rb
|
270
|
-
- features/support/android/screens/about_screen.rb
|
271
|
-
- features/support/android/screens/base_app_screen.rb
|
272
|
-
- features/support/android/screens/checkout_address_screen.rb
|
273
|
-
- features/support/android/screens/checkout_payment_screen.rb
|
274
|
-
- features/support/android/screens/login_screen.rb
|
275
|
-
- features/support/android/screens/products_screen.rb
|
276
|
-
- features/support/android/screens/saucebot_screen.rb
|
277
|
-
- features/support/android/screens/webview_screen.rb
|
278
|
-
- features/support/android/sections/nav_widgets/nav_menu.rb
|
279
|
-
- features/support/env.rb
|
280
|
-
- features/support/hooks.rb
|
281
|
-
- features/support/ios/screens/about_screen.rb
|
282
|
-
- features/support/ios/screens/base_app_screen.rb
|
283
|
-
- features/support/ios/screens/checkout_address_screen.rb
|
284
|
-
- features/support/ios/screens/checkout_payment_screen.rb
|
285
|
-
- features/support/ios/screens/login_screen.rb
|
286
|
-
- features/support/ios/screens/products_screen.rb
|
287
|
-
- features/support/ios/screens/saucebot_screen.rb
|
288
|
-
- features/support/ios/screens/webview_screen.rb
|
289
|
-
- features/support/ios/sections/list_items/product_cell_item.rb
|
290
|
-
- features/support/ios/sections/modals/base_modal.rb
|
291
|
-
- features/support/ios/sections/modals/logout_modal.rb
|
292
|
-
- features/support/ios/sections/modals/reset_app_state_modal.rb
|
293
|
-
- features/support/ios/sections/nav_widgets/nav_bar.rb
|
294
|
-
- features/support/ios/sections/nav_widgets/nav_menu.rb
|
295
|
-
- features/support/shared_components/screens/base_app_screen.rb
|
296
|
-
- features/support/shared_components/screens/checkout_address_screen.rb
|
297
|
-
- features/support/shared_components/screens/checkout_payment_screen.rb
|
298
|
-
- features/support/shared_components/screens/login_screen.rb
|
299
|
-
- features/support/shared_components/screens/saucebot_screen.rb
|
300
|
-
- features/support/shared_components/screens/webview_screen.rb
|
301
|
-
- features/support/shared_components/sections/nav_menu.rb
|
302
|
-
- features/support/world_data.rb
|
303
|
-
- features/support/world_pages.rb
|
304
226
|
- lib/testcentricity.rb
|
305
227
|
- lib/testcentricity/app_core/appium_connect_helper.rb
|
306
228
|
- lib/testcentricity/app_core/screen_object.rb
|
@@ -318,28 +240,6 @@ files:
|
|
318
240
|
- lib/testcentricity/app_elements/textfield.rb
|
319
241
|
- lib/testcentricity/data_objects/environment.rb
|
320
242
|
- lib/testcentricity/version.rb
|
321
|
-
- reports/.keep
|
322
|
-
- spec/fixtures/page_object.rb
|
323
|
-
- spec/fixtures/page_section_object.rb
|
324
|
-
- spec/fixtures/screen_object.rb
|
325
|
-
- spec/fixtures/screen_section_object.rb
|
326
|
-
- spec/spec_helper.rb
|
327
|
-
- spec/testcentricity/elements/button_spec.rb
|
328
|
-
- spec/testcentricity/elements/checkbox_spec.rb
|
329
|
-
- spec/testcentricity/elements/image_spec.rb
|
330
|
-
- spec/testcentricity/elements/label_spec.rb
|
331
|
-
- spec/testcentricity/elements/list_spec.rb
|
332
|
-
- spec/testcentricity/elements/ui_element_spec.rb
|
333
|
-
- spec/testcentricity/mobile/appium_connect_spec.rb
|
334
|
-
- spec/testcentricity/mobile/screen_object_spec.rb
|
335
|
-
- spec/testcentricity/mobile/screen_section_object_spec.rb
|
336
|
-
- spec/testcentricity/version_spec.rb
|
337
|
-
- spec/testcentricity/web/browser_spec.rb
|
338
|
-
- spec/testcentricity/web/local_webdriver_spec.rb
|
339
|
-
- spec/testcentricity/web/mobile_webdriver_spec.rb
|
340
|
-
- spec/testcentricity/web/page_object_spec.rb
|
341
|
-
- spec/testcentricity/web/page_section_object_spec.rb
|
342
|
-
- testcentricity.gemspec
|
343
243
|
homepage: https://github.com/TestCentricity/testcentricity
|
344
244
|
licenses:
|
345
245
|
- BSD-3-Clause
|
@@ -365,64 +265,6 @@ requirements:
|
|
365
265
|
rubygems_version: 3.1.6
|
366
266
|
signing_key:
|
367
267
|
specification_version: 4
|
368
|
-
summary: A Page Object Model Framework for
|
369
|
-
testing
|
370
|
-
test_files:
|
371
|
-
- features/deep_links.feature
|
372
|
-
- features/login.feature
|
373
|
-
- features/navigation.feature
|
374
|
-
- features/step_definitions/generic_steps.rb
|
375
|
-
- features/support/android/screens/about_screen.rb
|
376
|
-
- features/support/android/screens/base_app_screen.rb
|
377
|
-
- features/support/android/screens/checkout_address_screen.rb
|
378
|
-
- features/support/android/screens/checkout_payment_screen.rb
|
379
|
-
- features/support/android/screens/login_screen.rb
|
380
|
-
- features/support/android/screens/products_screen.rb
|
381
|
-
- features/support/android/screens/saucebot_screen.rb
|
382
|
-
- features/support/android/screens/webview_screen.rb
|
383
|
-
- features/support/android/sections/nav_widgets/nav_menu.rb
|
384
|
-
- features/support/env.rb
|
385
|
-
- features/support/hooks.rb
|
386
|
-
- features/support/ios/screens/about_screen.rb
|
387
|
-
- features/support/ios/screens/base_app_screen.rb
|
388
|
-
- features/support/ios/screens/checkout_address_screen.rb
|
389
|
-
- features/support/ios/screens/checkout_payment_screen.rb
|
390
|
-
- features/support/ios/screens/login_screen.rb
|
391
|
-
- features/support/ios/screens/products_screen.rb
|
392
|
-
- features/support/ios/screens/saucebot_screen.rb
|
393
|
-
- features/support/ios/screens/webview_screen.rb
|
394
|
-
- features/support/ios/sections/list_items/product_cell_item.rb
|
395
|
-
- features/support/ios/sections/modals/base_modal.rb
|
396
|
-
- features/support/ios/sections/modals/logout_modal.rb
|
397
|
-
- features/support/ios/sections/modals/reset_app_state_modal.rb
|
398
|
-
- features/support/ios/sections/nav_widgets/nav_bar.rb
|
399
|
-
- features/support/ios/sections/nav_widgets/nav_menu.rb
|
400
|
-
- features/support/shared_components/screens/base_app_screen.rb
|
401
|
-
- features/support/shared_components/screens/checkout_address_screen.rb
|
402
|
-
- features/support/shared_components/screens/checkout_payment_screen.rb
|
403
|
-
- features/support/shared_components/screens/login_screen.rb
|
404
|
-
- features/support/shared_components/screens/saucebot_screen.rb
|
405
|
-
- features/support/shared_components/screens/webview_screen.rb
|
406
|
-
- features/support/shared_components/sections/nav_menu.rb
|
407
|
-
- features/support/world_data.rb
|
408
|
-
- features/support/world_pages.rb
|
409
|
-
- spec/fixtures/page_object.rb
|
410
|
-
- spec/fixtures/page_section_object.rb
|
411
|
-
- spec/fixtures/screen_object.rb
|
412
|
-
- spec/fixtures/screen_section_object.rb
|
413
|
-
- spec/spec_helper.rb
|
414
|
-
- spec/testcentricity/elements/button_spec.rb
|
415
|
-
- spec/testcentricity/elements/checkbox_spec.rb
|
416
|
-
- spec/testcentricity/elements/image_spec.rb
|
417
|
-
- spec/testcentricity/elements/label_spec.rb
|
418
|
-
- spec/testcentricity/elements/list_spec.rb
|
419
|
-
- spec/testcentricity/elements/ui_element_spec.rb
|
420
|
-
- spec/testcentricity/mobile/appium_connect_spec.rb
|
421
|
-
- spec/testcentricity/mobile/screen_object_spec.rb
|
422
|
-
- spec/testcentricity/mobile/screen_section_object_spec.rb
|
423
|
-
- spec/testcentricity/version_spec.rb
|
424
|
-
- spec/testcentricity/web/browser_spec.rb
|
425
|
-
- spec/testcentricity/web/local_webdriver_spec.rb
|
426
|
-
- spec/testcentricity/web/mobile_webdriver_spec.rb
|
427
|
-
- spec/testcentricity/web/page_object_spec.rb
|
428
|
-
- spec/testcentricity/web/page_section_object_spec.rb
|
268
|
+
summary: A Page Object Model Framework for native mobile app and desktop/mobile web
|
269
|
+
portal testing
|
270
|
+
test_files: []
|
data/.gitignore
DELETED
@@ -1,40 +0,0 @@
|
|
1
|
-
# OSX folder stuff
|
2
|
-
.DS_Store
|
3
|
-
Thumbs.db
|
4
|
-
|
5
|
-
#IDE project files
|
6
|
-
.idea/
|
7
|
-
.settings
|
8
|
-
.project
|
9
|
-
|
10
|
-
/.bundle/
|
11
|
-
/.yardoc
|
12
|
-
/_yardoc/
|
13
|
-
/coverage/
|
14
|
-
/doc/
|
15
|
-
/pkg/
|
16
|
-
/spec/reports/
|
17
|
-
/tmp/
|
18
|
-
Gemfile*.lock
|
19
|
-
*gem
|
20
|
-
|
21
|
-
# rspec failure tracking
|
22
|
-
.rspec_status
|
23
|
-
|
24
|
-
# Ignore test-reports
|
25
|
-
reports/*.html
|
26
|
-
reports/*.xml
|
27
|
-
reports/*.json
|
28
|
-
reports/screenshots/
|
29
|
-
test-reports
|
30
|
-
capybara-*.html
|
31
|
-
debug.log
|
32
|
-
|
33
|
-
BrowserStackLocal
|
34
|
-
cbttunnel.jar
|
35
|
-
|
36
|
-
/.yardoc/
|
37
|
-
/local.log
|
38
|
-
.run/*.xml
|
39
|
-
|
40
|
-
echo coverage >> .gitignore
|
data/.rspec
DELETED
data/.rubocop.yml
DELETED
@@ -1,38 +0,0 @@
|
|
1
|
-
# See full list of defaults here: https://github.com/bbatsov/rubocop/blob/master/config/default.yml
|
2
|
-
# To see all cops used see here: https://github.com/bbatsov/rubocop/blob/master/config/enabled.yml
|
3
|
-
|
4
|
-
Documentation:
|
5
|
-
Enabled: false
|
6
|
-
|
7
|
-
AccessorMethodName:
|
8
|
-
Enabled: false
|
9
|
-
|
10
|
-
TrivialAccessors:
|
11
|
-
Enabled: false
|
12
|
-
|
13
|
-
RedundantReturn:
|
14
|
-
Enabled: false
|
15
|
-
|
16
|
-
Metrics/ModuleLength:
|
17
|
-
Enabled: false
|
18
|
-
|
19
|
-
Metrics/ClassLength:
|
20
|
-
Enabled: false
|
21
|
-
|
22
|
-
Metrics/LineLength:
|
23
|
-
Enabled: false
|
24
|
-
|
25
|
-
Metrics/MethodLength:
|
26
|
-
Enabled: false
|
27
|
-
|
28
|
-
Style/RegexpLiteral:
|
29
|
-
Enabled: false
|
30
|
-
|
31
|
-
Style/HashSyntax:
|
32
|
-
Enabled: false
|
33
|
-
|
34
|
-
Metrics/CyclomaticComplexity:
|
35
|
-
Enabled: false
|
36
|
-
|
37
|
-
Layout/EmptyLines:
|
38
|
-
Enabled: false
|
data/.ruby-version
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
ruby-2.7.5
|
data/.simplecov
DELETED
data/CODE_OF_CONDUCT.md
DELETED
@@ -1,13 +0,0 @@
|
|
1
|
-
# Contributor Code of Conduct
|
2
|
-
|
3
|
-
As contributors and maintainers of this project, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities.
|
4
|
-
|
5
|
-
We are committed to making participation in this project a harassment-free experience for everyone, regardless of level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, or religion.
|
6
|
-
|
7
|
-
Examples of unacceptable behavior by participants include the use of sexual language or imagery, derogatory comments or personal attacks, trolling, public or private harassment, insults, or other unprofessional conduct.
|
8
|
-
|
9
|
-
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct. Project maintainers who do not follow the Code of Conduct may be removed from the project team.
|
10
|
-
|
11
|
-
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by opening an issue or contacting one or more of the project maintainers.
|
12
|
-
|
13
|
-
This Code of Conduct is adapted from the [Contributor Covenant](http://contributor-covenant.org), version 1.0.0, available at [http://contributor-covenant.org/version/1/0/0/](http://contributor-covenant.org/version/1/0/0/)
|