testcentricity_apps 4.0.10
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.yardopts +3 -0
- data/CHANGELOG.md +193 -0
- data/LICENSE.md +27 -0
- data/README.md +2297 -0
- data/lib/testcentricity_apps/app_core/appium_connect_helper.rb +667 -0
- data/lib/testcentricity_apps/app_core/screen_object.rb +494 -0
- data/lib/testcentricity_apps/app_core/screen_objects_helper.rb +211 -0
- data/lib/testcentricity_apps/app_core/screen_section.rb +669 -0
- data/lib/testcentricity_apps/app_elements/alert.rb +152 -0
- data/lib/testcentricity_apps/app_elements/app_element.rb +728 -0
- data/lib/testcentricity_apps/app_elements/button.rb +10 -0
- data/lib/testcentricity_apps/app_elements/checkbox.rb +61 -0
- data/lib/testcentricity_apps/app_elements/image.rb +10 -0
- data/lib/testcentricity_apps/app_elements/label.rb +10 -0
- data/lib/testcentricity_apps/app_elements/list.rb +188 -0
- data/lib/testcentricity_apps/app_elements/menu.rb +159 -0
- data/lib/testcentricity_apps/app_elements/menubar.rb +78 -0
- data/lib/testcentricity_apps/app_elements/radio.rb +61 -0
- data/lib/testcentricity_apps/app_elements/selectlist.rb +126 -0
- data/lib/testcentricity_apps/app_elements/switch.rb +66 -0
- data/lib/testcentricity_apps/app_elements/textfield.rb +51 -0
- data/lib/testcentricity_apps/appium_server.rb +76 -0
- data/lib/testcentricity_apps/data_objects/data_objects_helper.rb +100 -0
- data/lib/testcentricity_apps/data_objects/environment.rb +423 -0
- data/lib/testcentricity_apps/exception_queue_helper.rb +160 -0
- data/lib/testcentricity_apps/utility_helpers.rb +48 -0
- data/lib/testcentricity_apps/version.rb +3 -0
- data/lib/testcentricity_apps/world_extensions.rb +61 -0
- data/lib/testcentricity_apps.rb +103 -0
- metadata +322 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 930cef5ab2d657d1328b4d057efa1ca4e369e17973888b90a2f83741e958c03b
|
4
|
+
data.tar.gz: 5ff3d33f147b59aa9685b02610abf84956a92b70e5cf0d4aaf7e8eaa18dca064
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: a161f4b17149fc8f4429c903d92cdd3e7d5be0faef02c45604d4b34b592f63258bb09913a5c2e009f43e13e4b2f59bdf226397e2ac0691442b83b514728de5c5
|
7
|
+
data.tar.gz: 55152aa0911d55baa3322876462f697f538c44e671a2793e8c84ce17d5e09e1503087070c4cf0b6285dea1aec5acab54e138fcacc4874a1be49f96a9142b047b
|
data/.yardopts
ADDED
data/CHANGELOG.md
ADDED
@@ -0,0 +1,193 @@
|
|
1
|
+
# CHANGELOG
|
2
|
+
All notable changes to this project will be documented in this file.
|
3
|
+
|
4
|
+
|
5
|
+
## [4.0.10] - 26-JUNE-2024
|
6
|
+
|
7
|
+
### Added
|
8
|
+
* Added `MenuBar` and `AppMenu` type `AppUIElement` to support MacOS application menubars and menus.
|
9
|
+
|
10
|
+
|
11
|
+
## [4.0.9] - 23-JUNE-2024
|
12
|
+
|
13
|
+
### Changed
|
14
|
+
|
15
|
+
* Updated `selenium-webdriver` gem to version 4.22.0.
|
16
|
+
|
17
|
+
|
18
|
+
## [4.0.8] - 03-JUNE-2024
|
19
|
+
|
20
|
+
### Fixed
|
21
|
+
|
22
|
+
* When testing using locally hosted iOS simulators or physical devices, and when not passing an options hash to specify
|
23
|
+
desired capabilities, the `AppiumConnect.initialize_appium` method now correctly sets the following XCUItest capabilities:
|
24
|
+
* `appium:webviewConnectTimeout` capability is now correctly specified as an `Integer`
|
25
|
+
* `appium:maxTypingFrequency` set to 15 keystrokes per minute to resolve an issue where characters are intermittently
|
26
|
+
dropped during text entry by `AppUIElement.set`, `AppUIElement.send_keys`, or `BaseScreenSectionObject.populate_data_fields`
|
27
|
+
methods.
|
28
|
+
* `AppList.list_item` attribute now defaults to `XCUIElementTypeOther`class for iOS/iPadOS platform and `android.view.ViewGroup`
|
29
|
+
class for Android platform.
|
30
|
+
|
31
|
+
### Changed
|
32
|
+
|
33
|
+
* Updated `appium_lib` gem to version 15.1.0.
|
34
|
+
* Updated `appium_lib_core` gem to version 9.1.1.
|
35
|
+
* Updated `selenium-webdriver` gem to version 4.21.1.
|
36
|
+
|
37
|
+
|
38
|
+
## [4.0.7] - 05-MAY-2024
|
39
|
+
|
40
|
+
### Added
|
41
|
+
* Added support for radio buttons via the `AppRadio` UI element class and the following methods:
|
42
|
+
* `ScreenObject.radio`
|
43
|
+
* `ScreenObject.radios`
|
44
|
+
* `ScreenSection.radio`
|
45
|
+
* `ScreenSection.radios`
|
46
|
+
* `ScreenObject.populate_data_fields` and `ScreenSection.populate_data_fields` methods now support radio buttons.
|
47
|
+
|
48
|
+
### Changed
|
49
|
+
|
50
|
+
* Updated `selenium-webdriver` gem to version 4.20.1.
|
51
|
+
* Updated `appium_lib_core` gem to version 8.0.2.
|
52
|
+
|
53
|
+
|
54
|
+
## [4.0.6] - 02-MAY-2024
|
55
|
+
|
56
|
+
### Fixed
|
57
|
+
|
58
|
+
* `ScreenSection.find_section` is now able to find `ScreenSection` objects embedded within other `ScreenSections`.
|
59
|
+
|
60
|
+
|
61
|
+
## [4.0.5] - 29-APR-2024
|
62
|
+
|
63
|
+
### Fixed
|
64
|
+
|
65
|
+
* `ScreenSection.disabled?` no longer returns wrong values.
|
66
|
+
|
67
|
+
|
68
|
+
## [4.0.4] - 26-APR-2024
|
69
|
+
|
70
|
+
### Changed
|
71
|
+
|
72
|
+
* Updated `selenium-webdriver` gem to version 4.20.0.
|
73
|
+
* Updated `appium_lib` gem to version 15.0.0.
|
74
|
+
* Updated `appium_lib_core` gem to version 8.0.1.
|
75
|
+
* No longer using deprecated Appium `driver.keyboard_shown?` method.
|
76
|
+
|
77
|
+
|
78
|
+
## [4.0.3] - 05-APR-2024
|
79
|
+
|
80
|
+
### Fixed
|
81
|
+
|
82
|
+
* `AppiumConnect.initialize_appium`, `AppiumServer.start`, and `AppiumServer.running?` methods now support Appium version 2.x.
|
83
|
+
Backward compatibility with Appium version 1.x is provided if `APPIUM_SERVER_VERSION` Environment Variable is set to `1`.
|
84
|
+
|
85
|
+
|
86
|
+
## [4.0.2] - 27-MAR-2024
|
87
|
+
|
88
|
+
### Changed
|
89
|
+
|
90
|
+
* Updated `selenium-webdriver` gem to version 4.19.0.
|
91
|
+
|
92
|
+
|
93
|
+
## [4.0.0] - 26-MAR-2024
|
94
|
+
|
95
|
+
### Fixed
|
96
|
+
* `DataPresenter.initialize` no longer fails if `data` parameter is `nil`.
|
97
|
+
* `ScreenObject.load_screen` now supports deeplinks on iOS physical devices.
|
98
|
+
|
99
|
+
### Added
|
100
|
+
* Added support for specifying and connecting to mobile devices and simulators on unsupported cloud hosting services using
|
101
|
+
`custom` user-defined driver and capabilities.
|
102
|
+
* Added the following new gesture methods:
|
103
|
+
* `AppUIElement.scroll_into_view`
|
104
|
+
* `AppUIElement.drag_by`
|
105
|
+
* `AppUIElement.drag_and_drop`
|
106
|
+
* `AppUIElement.swipe_gesture`
|
107
|
+
* `ScreenObject.swipe_gesture`
|
108
|
+
* `ScreenSection.swipe_gesture`
|
109
|
+
* `ScreenSection.scroll_into_view`
|
110
|
+
* Added `AppUIElement.count` method.
|
111
|
+
* Added `AppAlert.buttons` and `AppAlert.get_caption` methods.
|
112
|
+
* Added the following biometrics methods:
|
113
|
+
* `AppiumConnect.is_biometric_enrolled?`
|
114
|
+
* `AppiumConnect.set_biometric_enrollment`
|
115
|
+
* `AppiumConnect.biometric_match`
|
116
|
+
|
117
|
+
### Changed
|
118
|
+
* `AppiumConnect.initialize_appium` method now accepts an optional `options` hash for specifying desired capabilities
|
119
|
+
(using W3C protocol), driver, driver name, endpoint URL, global driver setting, and device type information.
|
120
|
+
* Updated `ScreenObject.verify_ui_states` and `ScreenSection.verify_ui_states` methods to support automatically scrolling
|
121
|
+
to offscreen UI elements.
|
122
|
+
* All touch and gesture methods refactored to no longer depend on deprecated `TouchAction` and `MultiTouchAction` classes.
|
123
|
+
* Ruby version 3.0.0 or greater is now required.
|
124
|
+
* Updated `appium_lib` gem to version 14.0.0.
|
125
|
+
* Updated `selenium-webdriver` gem to version 4.18.1.
|
126
|
+
|
127
|
+
### Removed
|
128
|
+
* Support for test data assets stored in Excel `.xls` has been removed because `.xls` files cannot be properly tracked
|
129
|
+
and diffed by source control tools like git.
|
130
|
+
* `ExcelData` and `ExcelDataSource` classes removed.
|
131
|
+
* Removed dependence on `spreadsheet` gem.
|
132
|
+
* Removed the following deprecated methods:
|
133
|
+
* `AppiumConnect.switch_to_default_context`
|
134
|
+
* `AppiumConnect.reset_app`
|
135
|
+
* `AppiumConnect.launch_app`
|
136
|
+
* `AppiumConnect.close_app`
|
137
|
+
|
138
|
+
|
139
|
+
## [3.1.1] - 04-AUGUST-2022
|
140
|
+
|
141
|
+
### Fixed
|
142
|
+
* `AppiumConnect.available_contexts` now correctly returns a list of native app and web contexts when testing hybrid apps
|
143
|
+
with WebViews on iOS simulators.
|
144
|
+
|
145
|
+
|
146
|
+
## [3.1.0] - 02-AUGUST-2022
|
147
|
+
|
148
|
+
### Added
|
149
|
+
* The `DRIVER` Environment Variable is now used to specify the `appium`, `browserstack`, `saucelabs`, `testingbot`,
|
150
|
+
or `lambdatest` driver.
|
151
|
+
|
152
|
+
|
153
|
+
## [3.0.6] - 21-JUNE-2022
|
154
|
+
|
155
|
+
### Fixed
|
156
|
+
* `AppButton.get_caption` correctly returns captions of React Native buttons on Android platform where button caption object
|
157
|
+
hierarchy is `//android.widget.Button/android.widget.ViewGroup/android.widget.TextView`.
|
158
|
+
|
159
|
+
|
160
|
+
## [3.0.5] - 12-JUNE-2022
|
161
|
+
|
162
|
+
### Fixed
|
163
|
+
* Fixed `gemspec` to no longer include specs and Cucumber tests as part of deployment package for the gem.
|
164
|
+
|
165
|
+
|
166
|
+
## [3.0.4] - 02-JUNE-2022
|
167
|
+
|
168
|
+
### Added
|
169
|
+
* Added `AppUIElement.wait_until_enabled` method.
|
170
|
+
|
171
|
+
|
172
|
+
## [3.0.3] - 30-MAY-2022
|
173
|
+
|
174
|
+
### Added
|
175
|
+
* Added `AppAlert.await_and_respond` method.
|
176
|
+
|
177
|
+
|
178
|
+
## [3.0.2] - 26-MAY-2022
|
179
|
+
|
180
|
+
### Fixed
|
181
|
+
* Added runtime dependencies `curb` and `json` to gemspec.
|
182
|
+
* Fixed CHANGELOG url in gemspec.
|
183
|
+
|
184
|
+
|
185
|
+
## [3.0.1] - 26-MAY-2022
|
186
|
+
|
187
|
+
### Added
|
188
|
+
* Added support for testing on cloud hosted iOS and Android simulators and real devices on BrowserStack, SauceLabs, and TestingBot services.
|
189
|
+
* `ScreenObject.load_page` method adds support for using deep links to directly load screens/pages of native apps.
|
190
|
+
* `AppiumConnect.upload_app` method adds support for uploading native apps to BrowserStack and TestingBot services prior to running tests.
|
191
|
+
|
192
|
+
### Changed
|
193
|
+
* Ruby version 2.7 or greater is required.
|
data/LICENSE.md
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
Copyright (c) 2014-2024, Tony Mrozinski
|
2
|
+
All rights reserved.
|
3
|
+
|
4
|
+
Redistribution and use in source and binary forms, with or without
|
5
|
+
modification, are permitted provided that the following conditions are met:
|
6
|
+
|
7
|
+
1. Redistributions of source code must retain the above copyright notice,
|
8
|
+
this list of conditions and the following disclaimer.
|
9
|
+
|
10
|
+
2. Redistributions in binary form must reproduce the above copyright
|
11
|
+
notice, this list of conditions and the following disclaimer in the
|
12
|
+
documentation and/or other materials provided with the distribution.
|
13
|
+
|
14
|
+
3. Neither the name of the copyright holder nor the names of its contributors
|
15
|
+
may be used to endorse or promote products derived from this software without
|
16
|
+
specific prior written permission.
|
17
|
+
|
18
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
19
|
+
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
20
|
+
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
21
|
+
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
|
22
|
+
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
23
|
+
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
|
24
|
+
OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
25
|
+
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
26
|
+
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
27
|
+
POSSIBILITY OF SUCH DAMAGE.
|