testcentricity_web 2.4.3 → 3.0.0
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.
- checksums.yaml +4 -4
- data/HISTORY.md +184 -0
- data/{LICENSE.txt → LICENSE.md} +4 -5
- data/README.md +23 -24
- data/lib/devices/devices.yml +1 -1
- data/lib/testcentricity_web.rb +13 -24
- data/lib/testcentricity_web/appium_server.rb +1 -1
- data/lib/testcentricity_web/{data_objects_helper.rb → data_objects/data_objects_helper.rb} +0 -0
- data/lib/testcentricity_web/{environment.rb → data_objects/environment.rb} +0 -42
- data/lib/testcentricity_web/{excel_helper.rb → data_objects/excel_helper.rb} +0 -0
- data/lib/testcentricity_web/version.rb +1 -1
- data/lib/testcentricity_web/{drag_drop_helper.rb → web_core/drag_drop_helper.rb} +0 -0
- data/lib/testcentricity_web/{page_objects_helper.rb → web_core/page_objects_helper.rb} +102 -102
- data/lib/testcentricity_web/{page_sections_helper.rb → web_core/page_sections_helper.rb} +102 -102
- data/lib/testcentricity_web/{webdriver_helper.rb → web_core/webdriver_helper.rb} +57 -131
- data/lib/testcentricity_web/{siebel_open_ui_helper.rb → web_elements/siebel_open_ui_helper.rb} +0 -0
- data/testcentricity_web.gemspec +7 -8
- metadata +22 -48
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 26609c1fd4cffdfd5b34157fa7124808b603666a
|
|
4
|
+
data.tar.gz: b424fe3614b7e02a739814d3987b56efcee81813
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 709c9a984bf177a0f39dbe123f39bc25f567f232b4c416847b8af80f152d6bd91c225267782dd441b710a63f1cde5ab354c499e8e84e54df661b44101149075f
|
|
7
|
+
data.tar.gz: 4d6a3ecd99625ea117803412e421b23108a74581b6f60cc4cc2931ecab5689dbb9e3bc203022f440fa970f2ea0c8a380f746cef7ec9d5d923193fc6f5eeb052c
|
data/HISTORY.md
ADDED
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
###Version 3.0.0
|
|
2
|
+
|
|
3
|
+
* The TestCentricity™ Web gem now works with Selenium-WebDriver version 3.11 and **geckodriver** version 0.20.1 (or later) to support testing of the latest versions
|
|
4
|
+
of Firefox web browsers.
|
|
5
|
+
* Support for testing on locally hosted "headless" Chrome or Firefox browsers has been added.
|
|
6
|
+
* Support for headless browser testing using Poltergeist and PhantomJS has been removed.
|
|
7
|
+
* Support for Legacy FirefoxDriver (used in Firefox versions < 48) has been added.
|
|
8
|
+
* `TestCentricity::WebDriverConnect.set_webdriver_path` method now sets the path to the appropriate **geckodriver** file for OS X or Windows when testing on
|
|
9
|
+
locally hosted Firefox browsers.
|
|
10
|
+
|
|
11
|
+
###Version 2.4.3
|
|
12
|
+
|
|
13
|
+
* Updated device profiles for iPhone 7 (iOS 11) with Mobile Firefox browser and iPad (iOS 10) with Mobile Firefox browser.
|
|
14
|
+
|
|
15
|
+
###Version 2.4.1
|
|
16
|
+
|
|
17
|
+
* Added device profiles for iPad (iOS 10) with MS Edge browser.
|
|
18
|
+
|
|
19
|
+
###Version 2.4.0
|
|
20
|
+
|
|
21
|
+
* Updated `TestCentricity::WebDriverConnect.initialize_web_driver` method to read the `APP_FULL_RESET`, `APP_NO_RESET`, and `NEW_COMMAND_TIMEOUT` Environment
|
|
22
|
+
Variables and set the corresponding `fullReset`, `noReset`, and `newCommandTimeout` Appium capabilities for iOS and Android physical devices and simulators.
|
|
23
|
+
Also reads the `WDA_LOCAL_PORT` Environment Variable and sets the `wdaLocalPort` Appium capability for iOS physical devices only.
|
|
24
|
+
|
|
25
|
+
###Version 2.3.19
|
|
26
|
+
|
|
27
|
+
* Fixed device profile for `android_phone` - Generic Android Phone.
|
|
28
|
+
|
|
29
|
+
###Version 2.3.18
|
|
30
|
+
|
|
31
|
+
* Updated `SelectList.define_list_elements` method to accept value for `:list_trigger` element.
|
|
32
|
+
* Updated `SelectList.choose_option` to respect `:list_item` value and to click on `:list_trigger` element, if one is specified.
|
|
33
|
+
* Updated `PageSection` and `PageObject` UI element object declaration methods to no longer use `class_eval` pattern.
|
|
34
|
+
* Updated device profiles for iPhone 7 (iOS 10) with Chrome browser and iPad (iOS 10) with Chrome browser.
|
|
35
|
+
* Fixed `SelectList.choose_option` to also accept `:text`, `:value`, and `:index` option hashes across all types of select list objects.
|
|
36
|
+
|
|
37
|
+
###Version 2.3.17
|
|
38
|
+
|
|
39
|
+
* Added `List.wait_until_item_count_is` and `List.wait_until_item_count_changes` methods.
|
|
40
|
+
* `UIElement.wait_until_value_is` and `List.wait_until_item_count_is` methods now accept comparison hash.
|
|
41
|
+
|
|
42
|
+
###Version 2.3.16
|
|
43
|
+
|
|
44
|
+
* Added `PageSection.double_click`, `PageObject.right_click`, and `PageObject.send_keys` methods.
|
|
45
|
+
|
|
46
|
+
###Version 2.3.15
|
|
47
|
+
|
|
48
|
+
* Added `PageObject.wait_until_exists` and `PageObject.wait_until_gone` methods.
|
|
49
|
+
* Fixed bug in `UIElement.get_object_type` method that could result in a `NoMethodError obj not defined` error.
|
|
50
|
+
* Fixed bug in `PageObject.verify_ui_states` and `PageSection.verify_ui_states` methods that failed to enqueue errors when UI elements could not be found.
|
|
51
|
+
|
|
52
|
+
###Version 2.3.14
|
|
53
|
+
|
|
54
|
+
* Updated device profiles for iPhone 7 (iOS 10) with MS Edge browser.
|
|
55
|
+
|
|
56
|
+
###Version 2.3.13
|
|
57
|
+
|
|
58
|
+
* Added `AppiumServer.start`, `AppiumServer.running?`, and `AppiumServer.stop` methods for starting and stopping the Appium Server prior to executing tests on
|
|
59
|
+
iOS physical devices or simulators, or Android virtual device emulators.
|
|
60
|
+
|
|
61
|
+
###Version 2.3.12
|
|
62
|
+
|
|
63
|
+
* Added `Environ.is_simulator?` and `Environ.is_web?` methods.
|
|
64
|
+
|
|
65
|
+
###Version 2.3.11
|
|
66
|
+
|
|
67
|
+
* Added support for running tests in Mobile Safari browser on physical iOS devices.
|
|
68
|
+
* Updated device profiles for iPhone 7 (iOS 10) with Mobile Firefox browser and iPad (iOS 10) with Mobile Firefox browser.
|
|
69
|
+
|
|
70
|
+
###Version 2.3.10
|
|
71
|
+
|
|
72
|
+
* Added support for running tests in mobile Chrome or Android browsers on Android Studio virtual device emulators.
|
|
73
|
+
* Added `displayed?`, `get_all_items_count`, and `get_all_list_items` methods to `PageSection` class.
|
|
74
|
+
* Added `get_all_items_count`, and `get_all_list_items` methods to `List` class.
|
|
75
|
+
|
|
76
|
+
###Version 2.3.9
|
|
77
|
+
|
|
78
|
+
* Updated `PageObject.populate_data_fields` and `PageSection.populate_data_fields` methods to accept optional `wait_time` parameter.
|
|
79
|
+
* Updated device profiles for iPhone 7 (iOS 10) with MS Edge browser, iPhone 7 (iOS 10) with Chrome browser, and iPhone 7 (iOS 10) with Firefox browser.
|
|
80
|
+
* Updated device profiles for iPad (iOS 10) with Chrome browser and iPad (iOS 10) with Firefox browser.
|
|
81
|
+
|
|
82
|
+
###Version 2.3.8
|
|
83
|
+
|
|
84
|
+
* Fixed locator resolution for **Indexed PageSection Objects**.
|
|
85
|
+
|
|
86
|
+
###Version 2.3.7
|
|
87
|
+
|
|
88
|
+
* Added `width`, `height`, `x`, `y`, and `displayed?` methods to `UIElement` class.
|
|
89
|
+
|
|
90
|
+
###Version 2.3.6
|
|
91
|
+
|
|
92
|
+
* Added `TextField.clear` method for deleting the contents of text fields. This method should trigger the `onchange` event for the associated text field.
|
|
93
|
+
* `TextField.clear` method now works with most `number` type fields.
|
|
94
|
+
|
|
95
|
+
###Version 2.3.5
|
|
96
|
+
|
|
97
|
+
* Updated `PageObject.populate_data_fields` and `PageSection.populate_data_fields` methods to be compatible with Redactor editor fields.
|
|
98
|
+
* Updated device profiles for iPhone 7 (iOS 10) with MS Edge browser, iPhone 7 (iOS 10) with Chrome browser, and iPhone 7 (iOS 10) with Firefox browser.
|
|
99
|
+
|
|
100
|
+
###Version 2.3.4
|
|
101
|
+
|
|
102
|
+
* Fixed bug in `PageObject.populate_data_fields` and `PageSection.populate_data_fields` methods that prevented deletion of data in number type textfields
|
|
103
|
+
and textarea controls.
|
|
104
|
+
|
|
105
|
+
###Version 2.3.3
|
|
106
|
+
|
|
107
|
+
* Added device profile for iPhone 7 (iOS 10) with MS Edge browser.
|
|
108
|
+
* Corrected device profiles for iPad (iOS 10) with Mobile Chrome browser and iPad (iOS 10) with Mobile Firefox browser.
|
|
109
|
+
|
|
110
|
+
###Version 2.3.1
|
|
111
|
+
|
|
112
|
+
* When testing using remotely hosted browsers on the BrowserStack service, the BrowserStack Local instance is automatically started if the `TUNNELING`
|
|
113
|
+
Environment Variable is set to `true`. `Environ.tunneling` will be set to true if the BrowserStack Local instance is succesfully started.
|
|
114
|
+
* Added `TestCentricity::WebDriverConnect.close_tunnel` method to close BrowserStack Local instance when Local testing is enabled. Refer to the
|
|
115
|
+
**Remotely hosted desktop and mobile web browsers** section for information on usage.
|
|
116
|
+
|
|
117
|
+
###Version 2.2.1
|
|
118
|
+
|
|
119
|
+
* `SelectList.choose_option` method now accepts index values for Chosen list objects.
|
|
120
|
+
|
|
121
|
+
###Version 2.2.0
|
|
122
|
+
|
|
123
|
+
* CSS selectors or XPath expressions may be used as locators for all types of **UI Elements**, including tables.
|
|
124
|
+
|
|
125
|
+
###Version 2.1.10
|
|
126
|
+
|
|
127
|
+
* Added device profiles for iPhone 7 (iOS 10) with Mobile Firefox browser and iPad (iOS 10) with Mobile Firefox browser.
|
|
128
|
+
|
|
129
|
+
###Version 2.1.9
|
|
130
|
+
|
|
131
|
+
* Fixed bug in `SelectList.choose_option`, `SelectList.get_options`, `SelectList.get_option_count`, and `SelectList.get_selected_option` methods which
|
|
132
|
+
did not recognize grouped option in Chosen list objects.
|
|
133
|
+
|
|
134
|
+
###Version 2.1.8
|
|
135
|
+
|
|
136
|
+
* Added `PageSection.verify_list_items` method for **Indexed PageSection Objects**.
|
|
137
|
+
|
|
138
|
+
###Version 2.1.7
|
|
139
|
+
|
|
140
|
+
* Updated `PageObject.populate_data_fields` and `PageSection.populate_data_fields` methods to use backspace characters to delete contents of a textfield
|
|
141
|
+
instead of using `clear`, which was preventing `onchange` JavaScript events from being triggered in some browsers.
|
|
142
|
+
|
|
143
|
+
###Version 2.1.6
|
|
144
|
+
|
|
145
|
+
* Fixed bug in `TestCentricity::WebDriverConnect.set_webdriver_path` method that was failing to set the path to the appropriate **chromedriver** file for OS X
|
|
146
|
+
and Windows.
|
|
147
|
+
|
|
148
|
+
###Version 2.1.5
|
|
149
|
+
|
|
150
|
+
* Added `get_min`, `get_max`, and `get_step` methods to `TextField` class.
|
|
151
|
+
* Updated `PageObject.verify_ui_states` and `PageSection.verify_ui_states` methods to support verification of `min`, `max`, and `step` attributes
|
|
152
|
+
for textfields.
|
|
153
|
+
* Fixed Chrome and Firefox support for setting browser language via the `LOCALE` Environment Variable. This capability now works for emulated mobile
|
|
154
|
+
browsers hosted in a local instance of Chrome or Firefox.
|
|
155
|
+
|
|
156
|
+
###Version 2.1.4
|
|
157
|
+
|
|
158
|
+
* Added suppression of the Info Bar that displays "Chrome is being controlled by automated test software" on locally hosted instances of the Chrome browser.
|
|
159
|
+
|
|
160
|
+
|
|
161
|
+
###Version 2.1.3
|
|
162
|
+
|
|
163
|
+
* Added support for "tiling" or cascading multiple browser windows when the `BROWSER_TILE` and `PARALLEL` Environment Variables are set to true. For each
|
|
164
|
+
concurrent parallel thread being executed, the position of each browser will be offset by 100 pixels right and 100 pixels down. For parallel test execution,
|
|
165
|
+
use the [parallel_tests gem](https://rubygems.org/gems/parallel_tests) to decrease overall test execution time.
|
|
166
|
+
|
|
167
|
+
###Version 2.1.2
|
|
168
|
+
|
|
169
|
+
* Added device profiles for Microsoft Lumia 950, Blackberry Leap, Blackberry Passport, and Kindle Fire HD 10
|
|
170
|
+
* Added ability to set browser language support via the `LOCALE` Environment Variable for local instances of Chrome browsers
|
|
171
|
+
|
|
172
|
+
###Version 2.1.0
|
|
173
|
+
|
|
174
|
+
* Added device profiles for iPhone 8, iPhone 8 Plus, iPhone X devices running iOS 11
|
|
175
|
+
* Added device profile for iPad Pro 10.5" with iOS 11
|
|
176
|
+
* Updated iPhone 7 and iPhone 7 Plus profiles to iOS 10
|
|
177
|
+
* Updated Google Pixel and Google Pixel XL profiles to Android 8
|
|
178
|
+
* Added device profiles for iPhone 7 (iOS 10) with Mobile Chrome browser and iPad (iOS 10) with Mobile Chrome browser
|
|
179
|
+
* The `TestCentricity::WebDriverConnect.initialize_web_driver` method now sets the `Environ` object to the correct device connection states for local and
|
|
180
|
+
cloud hosted browsers.
|
|
181
|
+
* The `TestCentricity::WebDriverConnect.initialize_web_driver` method no longer calls `initialize_browser_size` when running tests against cloud hosted
|
|
182
|
+
mobile web browser, which was resulting in Appium throwing exceptions for unsupported method calls.
|
|
183
|
+
* The `TestCentricity::WebDriverConnect.set_webdriver_path` method now correctly sets the path for Chrome webDrivers when the `HOST_BROWSER` Environment
|
|
184
|
+
Variable is set to `chrome`. Tests against locally hosted emulated mobile web browser running on a local instance of Chrome will now work correctly.
|
data/{LICENSE.txt → LICENSE.md}
RENAMED
|
@@ -1,15 +1,14 @@
|
|
|
1
|
-
TestCentricity Web
|
|
1
|
+
TestCentricity™ Web Framework is Copyright (c) 2014-2018, Tony Mrozinski
|
|
2
2
|
All rights reserved.
|
|
3
3
|
|
|
4
|
-
|
|
5
4
|
Redistribution and use in source and binary forms, with or without
|
|
6
5
|
modification, are permitted provided that the following conditions are met:
|
|
7
6
|
|
|
8
7
|
1. Redistributions of source code must retain the above copyright notice,
|
|
9
|
-
this list of conditions
|
|
8
|
+
this list of conditions and the following disclaimer.
|
|
10
9
|
|
|
11
10
|
2. Redistributions in binary form must reproduce the above copyright
|
|
12
|
-
notice, this list of conditions
|
|
11
|
+
notice, this list of conditions and the following disclaimer in the
|
|
13
12
|
documentation and/or other materials provided with the distribution.
|
|
14
13
|
|
|
15
14
|
3. Neither the name of the copyright holder nor the names of its contributors
|
|
@@ -25,4 +24,4 @@ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
|
|
|
25
24
|
OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
|
26
25
|
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
27
26
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
28
|
-
POSSIBILITY OF SUCH DAMAGE.
|
|
27
|
+
POSSIBILITY OF SUCH DAMAGE.
|
data/README.md
CHANGED
|
@@ -6,10 +6,12 @@
|
|
|
6
6
|
The TestCentricity™ Web core generic framework for desktop and mobile web site testing implements a Page Object and Data Object Model DSL for
|
|
7
7
|
use with Cucumber, Capybara, and Selenium-Webdriver.
|
|
8
8
|
|
|
9
|
+
An example project that demonstrates the implementation of a page object model framework using Cucumber and TestCentricity™ can be found [here](https://github.com/TestCentricity/tc_web_sample).
|
|
10
|
+
|
|
9
11
|
The TestCentricity™ Web gem supports running automated tests against the following web test targets:
|
|
10
|
-
* locally hosted desktop browsers (Firefox
|
|
12
|
+
* locally hosted desktop browsers (Firefox, Chrome, Safari, or IE)
|
|
11
13
|
* locally hosted emulated iOS Mobile Safari, Android, Windows Phone, or Blackberry mobile browsers (running within a local instance of Chrome)
|
|
12
|
-
*
|
|
14
|
+
* locally hosted headless Chrome or Firefox browsers
|
|
13
15
|
* mobile Safari browsers on iOS device simulators or physical iOS devices (using Appium and XCode on OS X)
|
|
14
16
|
* mobile Chrome or Android browsers on Android Studio virtual device emulators (using Appium and Android Studio on OS X)
|
|
15
17
|
* cloud hosted desktop (Firefox, Chrome, Safari, IE, or Edge) or mobile (iOS Mobile Safari or Android) web browsers using the [Browserstack](https://www.browserstack.com/list-of-browsers-and-platforms?product=automate),
|
|
@@ -19,15 +21,17 @@ The TestCentricity™ Web gem supports running automated tests against the follo
|
|
|
19
21
|
* enterprise web portals build using Siebel Open UI
|
|
20
22
|
|
|
21
23
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
feature incomplete and potentially unstable. More information can be found [here](https://github.com/teamcapybara/capybara/issues/1710).
|
|
25
|
-
|
|
26
|
-
TestCentricity™ will be updated to support testing with Selenium-WebDriver version 3.x as soon as a stable version is available that **fully** supports locally
|
|
27
|
-
hosted instances of Chrome, Firefox, Safari, and IE web browsers.
|
|
24
|
+
## What's New
|
|
25
|
+
###Version 3.0.0
|
|
28
26
|
|
|
27
|
+
* The TestCentricity™ Web gem now works with Selenium-WebDriver version 3.11 and **geckodriver** version 0.20.1 (or later) to support testing of the latest
|
|
28
|
+
versions of Firefox web browsers.
|
|
29
|
+
* Support for testing on locally hosted "headless" Chrome or Firefox browsers has been added.
|
|
30
|
+
* Support for headless browser testing using Poltergeist and PhantomJS has been removed.
|
|
31
|
+
* Support for Legacy FirefoxDriver (used in Firefox versions < 48) has been added.
|
|
32
|
+
* `TestCentricity::WebDriverConnect.set_webdriver_path` method now sets the path to the appropriate **geckodriver** file for OS X or Windows when testing on
|
|
33
|
+
locally hosted Firefox browsers.
|
|
29
34
|
|
|
30
|
-
## What's New
|
|
31
35
|
###Version 2.4.3
|
|
32
36
|
|
|
33
37
|
* Updated device profiles for iPhone 7 (iOS 11) with Mobile Firefox browser and iPad (iOS 10) with Mobile Firefox browser.
|
|
@@ -207,7 +211,7 @@ did not recognize grouped option in Chosen list objects.
|
|
|
207
211
|
|
|
208
212
|
###Version 2.1.6
|
|
209
213
|
|
|
210
|
-
* Fixed bug in `TestCentricity::WebDriverConnect.set_webdriver_path` method that was failing to set the path to the appropriate chromedriver file for OS X
|
|
214
|
+
* Fixed bug in `TestCentricity::WebDriverConnect.set_webdriver_path` method that was failing to set the path to the appropriate **chromedriver** file for OS X
|
|
211
215
|
and Windows.
|
|
212
216
|
|
|
213
217
|
###Version 2.1.5
|
|
@@ -259,14 +263,6 @@ If you are using RSpec instead, you need to require the following in your *env.r
|
|
|
259
263
|
require 'testcentricity_web'
|
|
260
264
|
|
|
261
265
|
|
|
262
|
-
### Using Poltergeist
|
|
263
|
-
|
|
264
|
-
If you will be running your tests on a "headless" web browser using Poltergeist and PhantomJS, you must add this line to your automation
|
|
265
|
-
project's Gemfile:
|
|
266
|
-
|
|
267
|
-
gem 'poltergeist'
|
|
268
|
-
|
|
269
|
-
|
|
270
266
|
### Using Appium
|
|
271
267
|
|
|
272
268
|
If you will be running your tests on mobile Safari browsers on simulated iOS devices using Appium and XCode Simulators, you need to require
|
|
@@ -884,7 +880,7 @@ To use these **PageManager** methods, include the step definitions and code belo
|
|
|
884
880
|
|
|
885
881
|
## Connecting to a Web Browser
|
|
886
882
|
|
|
887
|
-
The `TestCentricity::WebDriverConnect.initialize_web_driver` method configures the appropriate
|
|
883
|
+
The `TestCentricity::WebDriverConnect.initialize_web_driver` method configures the appropriate Selenium-Webdriver capabilities required to establish a
|
|
888
884
|
connection with a target web browser, and sets the base host URL of the web site you are running your tests against.
|
|
889
885
|
|
|
890
886
|
The `TestCentricity::WebDriverConnect.initialize_web_driver` method accepts a single optional parameter - the base host URL. Cucumber **Environment
|
|
@@ -903,7 +899,6 @@ values from the table below:
|
|
|
903
899
|
`chrome` | macOS (OS X) or Windows
|
|
904
900
|
`safari` | macOS (OS X) only
|
|
905
901
|
`ie` | Windows only
|
|
906
|
-
`poltergeist` | macOS (OS X) or Windows
|
|
907
902
|
|
|
908
903
|
To set the size of a desktop browser window, you set the `BROWSER_SIZE` Environment Variable to the desired width and height in pixels as shown below:
|
|
909
904
|
|
|
@@ -1215,11 +1210,15 @@ service(s) that you intend to connect with.
|
|
|
1215
1210
|
#==============
|
|
1216
1211
|
|
|
1217
1212
|
firefox: WEB_BROWSER=firefox <%= desktop %>
|
|
1218
|
-
safari: WEB_BROWSER=safari <%= desktop %>
|
|
1219
1213
|
chrome: WEB_BROWSER=chrome <%= desktop %>
|
|
1214
|
+
safari: WEB_BROWSER=safari <%= desktop %>
|
|
1220
1215
|
ie: WEB_BROWSER=ie <%= desktop %>
|
|
1221
|
-
|
|
1222
|
-
|
|
1216
|
+
|
|
1217
|
+
chrome_headless: WEB_BROWSER=chrome_headless <%= desktop %>
|
|
1218
|
+
firefox_headless: WEB_BROWSER=firefox_headless <%= desktop %>
|
|
1219
|
+
firefox_legacy: WEB_BROWSER=firefox_legacy <%= desktop %>
|
|
1220
|
+
|
|
1221
|
+
|
|
1223
1222
|
#==============
|
|
1224
1223
|
# profiles for locally hosted mobile web browsers (emulated locally in Firefox browser)
|
|
1225
1224
|
# NOTE: to host emulated mobile browsers in Chrome set the HOST_BROWSER=chrome
|
|
@@ -1319,7 +1318,7 @@ service(s) that you intend to connect with.
|
|
|
1319
1318
|
# NOTE: Requires installation of XCode, Appium, and the appium_capybara gem
|
|
1320
1319
|
#==============
|
|
1321
1320
|
|
|
1322
|
-
|
|
1321
|
+
my_ios_11_3_iphone: --profile app_ios_11 DEVICE_TYPE=phone APP_DEVICE="My Test iPhoneX" APP_UDID="INSERT YOUR DEVICE UDID"
|
|
1323
1322
|
my_ios_10_3_ipad: --profile app_ios_10 DEVICE_TYPE=tablet APP_DEVICE="My Test iPad Pro" APP_UDID="INSERT YOUR DEVICE UDID"
|
|
1324
1323
|
|
|
1325
1324
|
|
data/lib/devices/devices.yml
CHANGED
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
:css_width: 375
|
|
62
62
|
:css_height: 667
|
|
63
63
|
:default_orientation: portrait
|
|
64
|
-
:user_agent: "Mozilla/5.0 (iPhone; CPU iPhone OS 11_3 like Mac OS X) AppleWebKit/604.1.34 (KHTML, like Gecko) CriOS/
|
|
64
|
+
:user_agent: "Mozilla/5.0 (iPhone; CPU iPhone OS 11_3 like Mac OS X) AppleWebKit/604.1.34 (KHTML, like Gecko) CriOS/66.0.3359.122 Mobile/15E216 Safari/604.1"
|
|
65
65
|
:iphone7_firefox:
|
|
66
66
|
:name: "iPhone 7 - Firefox"
|
|
67
67
|
:os: ios
|
data/lib/testcentricity_web.rb
CHANGED
|
@@ -1,20 +1,21 @@
|
|
|
1
1
|
require 'capybara/cucumber'
|
|
2
2
|
require 'test/unit'
|
|
3
|
-
require 'capybara/poltergeist'
|
|
4
3
|
|
|
4
|
+
require 'testcentricity_web/version'
|
|
5
5
|
require 'testcentricity_web/world_extensions'
|
|
6
|
-
require 'testcentricity_web/browser_helper'
|
|
7
|
-
require 'testcentricity_web/data_objects_helper'
|
|
8
|
-
require 'testcentricity_web/drag_drop_helper'
|
|
9
|
-
require 'testcentricity_web/excel_helper'
|
|
10
6
|
require 'testcentricity_web/exception_queue_helper'
|
|
11
|
-
require 'testcentricity_web/page_objects_helper'
|
|
12
|
-
require 'testcentricity_web/page_sections_helper'
|
|
13
|
-
require 'testcentricity_web/siebel_open_ui_helper'
|
|
14
7
|
require 'testcentricity_web/utility_helpers'
|
|
15
|
-
require 'testcentricity_web/
|
|
16
|
-
require 'testcentricity_web/
|
|
17
|
-
|
|
8
|
+
require 'testcentricity_web/browser_helper'
|
|
9
|
+
require 'testcentricity_web/appium_server'
|
|
10
|
+
|
|
11
|
+
require 'testcentricity_web/web_core/drag_drop_helper'
|
|
12
|
+
require 'testcentricity_web/web_core/page_objects_helper'
|
|
13
|
+
require 'testcentricity_web/web_core/page_sections_helper'
|
|
14
|
+
require 'testcentricity_web/web_core/webdriver_helper'
|
|
15
|
+
|
|
16
|
+
require 'testcentricity_web/data_objects/data_objects_helper'
|
|
17
|
+
require 'testcentricity_web/data_objects/environment'
|
|
18
|
+
require 'testcentricity_web/data_objects/excel_helper'
|
|
18
19
|
|
|
19
20
|
require 'testcentricity_web/web_elements/ui_elements_helper'
|
|
20
21
|
require 'testcentricity_web/web_elements/button'
|
|
@@ -37,7 +38,7 @@ require 'testcentricity_web/web_elements/list_element'
|
|
|
37
38
|
require 'testcentricity_web/web_elements/list_button'
|
|
38
39
|
require 'testcentricity_web/web_elements/list_checkbox'
|
|
39
40
|
require 'testcentricity_web/web_elements/list_radio'
|
|
40
|
-
require 'testcentricity_web/
|
|
41
|
+
require 'testcentricity_web/web_elements/siebel_open_ui_helper'
|
|
41
42
|
|
|
42
43
|
|
|
43
44
|
module TestCentricity
|
|
@@ -98,18 +99,6 @@ module TestCentricity
|
|
|
98
99
|
def self.current_page=(page)
|
|
99
100
|
@current_page = page
|
|
100
101
|
end
|
|
101
|
-
|
|
102
|
-
# Sets the currently active PageObject
|
|
103
|
-
#
|
|
104
|
-
# @param page [PageObject] Reference to the active PageObject
|
|
105
|
-
# @example
|
|
106
|
-
# TestCentricity::PageManager.set_current_page(product_search_page)
|
|
107
|
-
#
|
|
108
|
-
# @deprecated Please use {#current_page=} instead
|
|
109
|
-
def self.set_current_page(page)
|
|
110
|
-
warn "[DEPRECATION] 'TestCentricity::PageManager.set_current_page' is deprecated. Please use 'current_page=' instead."
|
|
111
|
-
@current_page = page
|
|
112
|
-
end
|
|
113
102
|
end
|
|
114
103
|
|
|
115
104
|
|
|
File without changes
|
|
@@ -96,12 +96,6 @@ module TestCentricity
|
|
|
96
96
|
end
|
|
97
97
|
end
|
|
98
98
|
|
|
99
|
-
# @deprecated Please use {#browser=} instead
|
|
100
|
-
def self.set_browser(browser)
|
|
101
|
-
warn "[DEPRECATION] 'TestCentricity::Environ.set_browser' is deprecated. Please use 'Environ.browser =' instead."
|
|
102
|
-
@browser = browser.downcase.to_sym
|
|
103
|
-
end
|
|
104
|
-
|
|
105
99
|
def self.browser=(browser)
|
|
106
100
|
@browser = browser.downcase.to_sym
|
|
107
101
|
end
|
|
@@ -126,12 +120,6 @@ module TestCentricity
|
|
|
126
120
|
@session_state
|
|
127
121
|
end
|
|
128
122
|
|
|
129
|
-
# @deprecated Please use {#os=} instead
|
|
130
|
-
def self.set_os(os)
|
|
131
|
-
warn "[DEPRECATION] 'TestCentricity::Environ.set_os' is deprecated. Please use 'Environ.os =' instead."
|
|
132
|
-
@os = os
|
|
133
|
-
end
|
|
134
|
-
|
|
135
123
|
def self.os=(os)
|
|
136
124
|
@os = os
|
|
137
125
|
end
|
|
@@ -140,12 +128,6 @@ module TestCentricity
|
|
|
140
128
|
@os
|
|
141
129
|
end
|
|
142
130
|
|
|
143
|
-
# @deprecated Please use {#device=} instead
|
|
144
|
-
def self.set_device(device)
|
|
145
|
-
warn "[DEPRECATION] 'TestCentricity::Environ.set_device' is deprecated. Please use 'Environ.device =' instead."
|
|
146
|
-
@device = device
|
|
147
|
-
end
|
|
148
|
-
|
|
149
131
|
def self.device=(device)
|
|
150
132
|
@device = device
|
|
151
133
|
end
|
|
@@ -166,12 +148,6 @@ module TestCentricity
|
|
|
166
148
|
@device == :web
|
|
167
149
|
end
|
|
168
150
|
|
|
169
|
-
# @deprecated Please use {#device_type=} instead
|
|
170
|
-
def self.set_device_type(type)
|
|
171
|
-
warn "[DEPRECATION] 'TestCentricity::Environ.set_device_type' is deprecated. Please use 'Environ.device_type =' instead."
|
|
172
|
-
@device_type = type.downcase
|
|
173
|
-
end
|
|
174
|
-
|
|
175
151
|
def self.device_type=(type)
|
|
176
152
|
@device_type = type.downcase.to_sym
|
|
177
153
|
end
|
|
@@ -228,12 +204,6 @@ module TestCentricity
|
|
|
228
204
|
@tunneling
|
|
229
205
|
end
|
|
230
206
|
|
|
231
|
-
# @deprecated Please use {#platform=} instead
|
|
232
|
-
def self.set_platform(platform)
|
|
233
|
-
warn "[DEPRECATION] 'TestCentricity::Environ.set_platform' is deprecated. Please use 'Environ.platform =' instead."
|
|
234
|
-
@platform = platform
|
|
235
|
-
end
|
|
236
|
-
|
|
237
207
|
def self.platform=(platform)
|
|
238
208
|
@platform = platform
|
|
239
209
|
end
|
|
@@ -254,12 +224,6 @@ module TestCentricity
|
|
|
254
224
|
@signed_in
|
|
255
225
|
end
|
|
256
226
|
|
|
257
|
-
# @deprecated Please use {#portal_state=} instead
|
|
258
|
-
def self.set_portal_state(portal_state)
|
|
259
|
-
warn "[DEPRECATION] 'TestCentricity::Environ.set_portal_state' is deprecated. Please use 'Environ.portal_state =' instead."
|
|
260
|
-
@portal_status = portal_state
|
|
261
|
-
end
|
|
262
|
-
|
|
263
227
|
def self.portal_state=(portal_state)
|
|
264
228
|
@portal_status = portal_state
|
|
265
229
|
end
|
|
@@ -268,12 +232,6 @@ module TestCentricity
|
|
|
268
232
|
@portal_status
|
|
269
233
|
end
|
|
270
234
|
|
|
271
|
-
# @deprecated Please use {#portal_context=} instead
|
|
272
|
-
def self.set_portal_context(portal_context)
|
|
273
|
-
warn "[DEPRECATION] 'TestCentricity::Environ.set_portal_context' is deprecated. Please use 'Environ.portal_context =' instead."
|
|
274
|
-
@portal_context = portal_context
|
|
275
|
-
end
|
|
276
|
-
|
|
277
235
|
def self.portal_context=(portal_context)
|
|
278
236
|
@portal_context = portal_context
|
|
279
237
|
end
|