testcentricity_web 4.5.7 → 4.5.9
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +18 -0
- data/README.md +20 -22
- data/lib/testcentricity_web/version.rb +1 -1
- data/lib/testcentricity_web/web_core/webdriver_helper.rb +14 -6
- metadata +9 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6a51581c1a0aa1b5c14e1f4ca5a99767f05c956d79e62fe3be21864a1b3e3b69
|
4
|
+
data.tar.gz: c859c5da5b37a6c1cfc75ea34d04d612d18e35f62bc1419e1fbe27ffe5d0ef79
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8858b75a894d4512ef69f560727b8d9c8a0700e10c7865ffb5e0a5903a604a7a8998d759549b0761c9fbd8f836a1398f1097c1a04cea9f04e67b57d4aa5285c1
|
7
|
+
data.tar.gz: dc154b9acd9f376a88375fc2945913e2b99cf47c5589975110c3de85fbf844e10d94cc0d4eb10be81f27e50026bb67cf2297509a49ac7d2a4c5752aaf71f5d59
|
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,24 @@
|
|
2
2
|
All notable changes to this project will be documented in this file.
|
3
3
|
|
4
4
|
|
5
|
+
## [4.5.9] - 23-JUNE-2024
|
6
|
+
|
7
|
+
### Changed
|
8
|
+
|
9
|
+
* Updated `selenium-webdriver` gem to version 4.22.0.
|
10
|
+
|
11
|
+
|
12
|
+
## [4.5.8] - 21-MAY-2024
|
13
|
+
|
14
|
+
### Changed
|
15
|
+
|
16
|
+
* Setting `DOWNLOADS` Environment Variable to `true` will create a `/downloads` folder which will be used as the destination
|
17
|
+
for files that are downloaded by your automated tests. You know longer need to manually create the `/downloads` folder.
|
18
|
+
* Updated `appium_lib` gem to version 15.1.0.
|
19
|
+
* Updated `appium_lib_core` gem to version 9.1.1.
|
20
|
+
* Updated `selenium-webdriver` gem to version 4.21.1.
|
21
|
+
|
22
|
+
|
5
23
|
## [4.5.7] - 25-APR-2024
|
6
24
|
|
7
25
|
### Changed
|
data/README.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# TestCentricity™ Web
|
1
|
+
# TestCentricity™ For Web
|
2
2
|
|
3
3
|
[![Gem Version](https://badge.fury.io/rb/testcentricity_web.svg)](https://badge.fury.io/rb/testcentricity_web)
|
4
4
|
[![License (3-Clause BSD)](https://img.shields.io/badge/license-BSD%203--Clause-blue.svg?style=flat-square)](http://opensource.org/licenses/BSD-3-Clause)
|
@@ -7,12 +7,12 @@
|
|
7
7
|
[![Docs](https://img.shields.io/badge/docs-rubydoc-blue.svg)](http://www.rubydoc.info/gems/testcentricity_web)
|
8
8
|
|
9
9
|
|
10
|
-
The TestCentricity™ Web core framework for desktop and mobile web browser-based app testing implements a Page Object Model
|
10
|
+
The TestCentricity™ For Web core framework for desktop and mobile web browser-based app testing implements a Page Object Model
|
11
11
|
DSL for use with Cucumber (version 7.x or greater) or RSpec, and Selenium-Webdriver. It also facilitates the configuration
|
12
12
|
of the appropriate Selenium-Webdriver capabilities required to establish connections with one or more local or cloud hosted
|
13
13
|
desktop or mobile web browsers.
|
14
14
|
|
15
|
-
The TestCentricity™ Web gem supports connecting to, and running automated tests against the following target web browsers:
|
15
|
+
The TestCentricity™ For Web gem supports connecting to, and running automated tests against the following target web browsers:
|
16
16
|
* locally hosted desktop browsers (Chrome, Edge, Firefox, or Safari)
|
17
17
|
* locally hosted "headless" Chrome, Firefox, or Edge browsers
|
18
18
|
* remote desktop and emulated mobile web browsers hosted on Selenium Grid 4 and Dockerized Selenium Grid 4 environments
|
@@ -34,8 +34,8 @@ A complete history of bug fixes and new features can be found in the {file:CHANG
|
|
34
34
|
|
35
35
|
The RubyDocs for this gem can be found [here](https://www.rubydoc.info/gems/testcentricity_web).
|
36
36
|
|
37
|
-
An example project that demonstrates the implementation of a page object model framework using
|
38
|
-
can be found [here](https://github.com/TestCentricity/tc_multi_webdriver_sample).
|
37
|
+
An example project that demonstrates the implementation of a page object model framework using TestCentricity™ For Web and
|
38
|
+
Cucumber can be found [here](https://github.com/TestCentricity/tc_multi_webdriver_sample).
|
39
39
|
|
40
40
|
|
41
41
|
### Which gem should I use?
|
@@ -44,23 +44,21 @@ can be found [here](https://github.com/TestCentricity/tc_multi_webdriver_sample)
|
|
44
44
|
|
45
45
|
### Which gem should I use?
|
46
46
|
|
47
|
-
* The [TestCentricity **Web** gem](https://rubygems.org/gems/testcentricity_web)
|
48
|
-
* The [TestCentricity **Mobile** gem](https://rubygems.org/gems/testcentricity_mobile)
|
49
|
-
* The [TestCentricity **Apps** gem](https://rubygems.org/gems/testcentricity_apps)
|
50
|
-
* The TestCentricity gem supports testing of native mobile apps and/or web interfaces via desktop and mobile web browsers.
|
47
|
+
* The [TestCentricity For **Web** gem](https://rubygems.org/gems/testcentricity_web) supports testing of web interfaces via desktop and mobile web browsers
|
48
|
+
* The [TestCentricity For **Mobile** gem](https://rubygems.org/gems/testcentricity_mobile) supports testing of native iOS and Android mobile apps
|
49
|
+
* The [TestCentricity For **Apps** gem](https://rubygems.org/gems/testcentricity_apps) supports testing of MacOS desktop apps and native iOS and Android mobile apps
|
51
50
|
|
52
|
-
| Tested platforms
|
53
|
-
|
54
|
-
| Desktop/mobile web browsers only
|
55
|
-
| Native mobile iOS and/or Android apps only
|
56
|
-
| MacOS desktop apps
|
57
|
-
| Native mobile apps and desktop/mobile web browsers | No | No | No | Yes |
|
51
|
+
| Tested platforms | TestCentricity For Web | TestCentricity For Mobile | TestCentricity For Apps |
|
52
|
+
|---------------------------------------------|:-:|:-:|:-:|
|
53
|
+
| Desktop/mobile web browsers only | Yes | No | No |
|
54
|
+
| Native mobile iOS and/or Android apps only | No | Yes | Yes |
|
55
|
+
| MacOS desktop apps | No | No | Yes |
|
58
56
|
|
59
57
|
|
60
58
|
## Installation
|
61
59
|
|
62
|
-
TestCentricity Web version 4.4 and above requires Ruby version 3.0.0 or later. To install the TestCentricity Web gem,
|
63
|
-
this line to your automation project's `Gemfile`:
|
60
|
+
TestCentricity For Web version 4.4 and above requires Ruby version 3.0.0 or later. To install the TestCentricity For Web gem,
|
61
|
+
add this line to your automation project's `Gemfile`:
|
64
62
|
|
65
63
|
gem 'testcentricity_web'
|
66
64
|
|
@@ -466,7 +464,7 @@ Once your `PageObject` has been instantiated, you can call its `PageSection` met
|
|
466
464
|
`PageObjects` and `PageSections` are typically made up of UI elements like text fields, check boxes, select lists (combo
|
467
465
|
boxes), radio buttons, tables, ordered and unordered lists, buttons, images, HTML5 video or audio player objects, etc.
|
468
466
|
UI elements are declared and instantiated within the class definition of the `PageObject` or `PageSection` in which they
|
469
|
-
are contained. With TestCentricity Web, all UI elements are based on the `UIElement` class.
|
467
|
+
are contained. With TestCentricity For Web, all UI elements are based on the `UIElement` class.
|
470
468
|
|
471
469
|
|
472
470
|
### Declaring and Instantiating UIElements
|
@@ -1625,9 +1623,9 @@ Below is an example of an `options` hash for specifying a connection to a locall
|
|
1625
1623
|
#### Testing File Downloads With Desktop Browsers
|
1626
1624
|
|
1627
1625
|
File download functionality can be tested with locally hosted instances of Chrome, Edge, or Firefox desktop browsers. Your
|
1628
|
-
automation project must
|
1629
|
-
|
1630
|
-
below:
|
1626
|
+
automation project must set the `DOWNLOADS` Environment Variable to `true`, which will result in a `/downloads` folder being
|
1627
|
+
created, which will be used as the destination for files that are downloaded by your automated tests. The `/downloads` folder
|
1628
|
+
will be at the same level as the `/config` and `/features` folders, as depicted below:
|
1631
1629
|
|
1632
1630
|
📁 my_automation_project/
|
1633
1631
|
├── 📁 config/
|
@@ -3161,7 +3159,7 @@ area sub-folders as needed. Likewise, `PageSection` class definitions should be
|
|
3161
3159
|
---
|
3162
3160
|
## Web Test Automation Framework Implementation
|
3163
3161
|
|
3164
|
-
![TestCentricity Web Framework Overview](https://raw.githubusercontent.com/TestCentricity/testcentricity_web/main/.github/images/tc_overview.jpg "TestCentricity Web Framework Overview")
|
3162
|
+
![TestCentricity For Web Framework Overview](https://raw.githubusercontent.com/TestCentricity/testcentricity_web/main/.github/images/tc_overview.jpg "TestCentricity For Web Framework Overview")
|
3165
3163
|
|
3166
3164
|
|
3167
3165
|
---
|
@@ -157,6 +157,10 @@ module TestCentricity
|
|
157
157
|
@initialized = false
|
158
158
|
end
|
159
159
|
|
160
|
+
def self.downloads_path
|
161
|
+
@downloads_path
|
162
|
+
end
|
163
|
+
|
160
164
|
def self.initialize_browser_size
|
161
165
|
# tile browser windows if BROWSER_TILE environment variable is true and running in multiple parallel threads
|
162
166
|
if ENV['BROWSER_TILE'] && (Environ.parallel || @drivers.length > 1)
|
@@ -216,8 +220,12 @@ module TestCentricity
|
|
216
220
|
|
217
221
|
def self.initialize_downloads
|
218
222
|
@drivers = {}
|
219
|
-
# set downloads folder path
|
220
223
|
@downloads_path = "#{Dir.pwd}/downloads"
|
224
|
+
# create downloads folder if it doesn't already exist
|
225
|
+
if ENV['DOWNLOADS'] && ENV['DOWNLOADS'].to_bool
|
226
|
+
Dir.mkdir(@downloads_path) unless Dir.exist?(@downloads_path)
|
227
|
+
end
|
228
|
+
|
221
229
|
if ENV['PARALLEL']
|
222
230
|
Environ.parallel = true
|
223
231
|
Environ.process_num = ENV['TEST_ENV_NUMBER']
|
@@ -486,7 +494,7 @@ module TestCentricity
|
|
486
494
|
else
|
487
495
|
# define desktop browser options
|
488
496
|
bs_options[:resolution] = ENV['RESOLUTION'] if ENV['RESOLUTION']
|
489
|
-
bs_options[:seleniumVersion] = '4.
|
497
|
+
bs_options[:seleniumVersion] = '4.21.0'
|
490
498
|
{
|
491
499
|
browserName: browser,
|
492
500
|
browserVersion: ENV['BS_VERSION'],
|
@@ -556,7 +564,7 @@ module TestCentricity
|
|
556
564
|
else
|
557
565
|
# define desktop browser options
|
558
566
|
tb_options['screen-resolution'] = ENV['RESOLUTION'] if ENV['RESOLUTION']
|
559
|
-
tb_options['selenium-version'] = '4.
|
567
|
+
tb_options['selenium-version'] = '4.20.0'
|
560
568
|
end
|
561
569
|
{
|
562
570
|
browserName: browser,
|
@@ -619,7 +627,7 @@ module TestCentricity
|
|
619
627
|
# define mobile device options
|
620
628
|
if ENV['SL_PLATFORM']
|
621
629
|
sl_options[:deviceOrientation] = ENV['ORIENTATION'].upcase if ENV['ORIENTATION']
|
622
|
-
sl_options[:appium_version] = '1.
|
630
|
+
sl_options[:appium_version] = '2.1.3'
|
623
631
|
{
|
624
632
|
browserName: browser,
|
625
633
|
platform_name: ENV['SL_PLATFORM'],
|
@@ -678,7 +686,7 @@ module TestCentricity
|
|
678
686
|
platformName: ENV['LT_OS'],
|
679
687
|
resolution: ENV['RESOLUTION'],
|
680
688
|
name: test_context_message,
|
681
|
-
selenium_version: '4.
|
689
|
+
selenium_version: '4.21.0',
|
682
690
|
}
|
683
691
|
# define the optional LambdaTest options
|
684
692
|
lt_options[:project] = ENV['AUTOMATE_PROJECT'] if ENV['AUTOMATE_PROJECT']
|
@@ -746,7 +754,7 @@ module TestCentricity
|
|
746
754
|
options.add_argument("--lang=#{ENV['LOCALE']}") if ENV['LOCALE']
|
747
755
|
if browser == :chrome_headless || browser == :edge_headless
|
748
756
|
Environ.headless = true
|
749
|
-
options.add_argument('--headless')
|
757
|
+
options.add_argument('--headless=new')
|
750
758
|
options.add_argument('--disable-gpu')
|
751
759
|
end
|
752
760
|
options
|
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.5.
|
4
|
+
version: 4.5.9
|
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: 2024-
|
11
|
+
date: 2024-06-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -156,14 +156,14 @@ dependencies:
|
|
156
156
|
requirements:
|
157
157
|
- - "~>"
|
158
158
|
- !ruby/object:Gem::Version
|
159
|
-
version: 15.
|
159
|
+
version: 15.1.0
|
160
160
|
type: :runtime
|
161
161
|
prerelease: false
|
162
162
|
version_requirements: !ruby/object:Gem::Requirement
|
163
163
|
requirements:
|
164
164
|
- - "~>"
|
165
165
|
- !ruby/object:Gem::Version
|
166
|
-
version: 15.
|
166
|
+
version: 15.1.0
|
167
167
|
- !ruby/object:Gem::Dependency
|
168
168
|
name: browserstack-local
|
169
169
|
requirement: !ruby/object:Gem::Requirement
|
@@ -268,14 +268,14 @@ dependencies:
|
|
268
268
|
requirements:
|
269
269
|
- - '='
|
270
270
|
- !ruby/object:Gem::Version
|
271
|
-
version: 4.
|
271
|
+
version: 4.22.0
|
272
272
|
type: :runtime
|
273
273
|
prerelease: false
|
274
274
|
version_requirements: !ruby/object:Gem::Requirement
|
275
275
|
requirements:
|
276
276
|
- - '='
|
277
277
|
- !ruby/object:Gem::Version
|
278
|
-
version: 4.
|
278
|
+
version: 4.22.0
|
279
279
|
- !ruby/object:Gem::Dependency
|
280
280
|
name: test-unit
|
281
281
|
requirement: !ruby/object:Gem::Requirement
|
@@ -306,13 +306,13 @@ dependencies:
|
|
306
306
|
version: '0'
|
307
307
|
description: |2-
|
308
308
|
|
309
|
-
The TestCentricity™ Web core framework for desktop and mobile web browser-based app testing implements a Page Object
|
309
|
+
The TestCentricity™ For Web core framework for desktop and mobile web browser-based app testing implements a Page Object
|
310
310
|
Model DSL for use with Cucumber or RSpec, and Selenium-Webdriver. The gem also facilitates the configuration of the
|
311
311
|
appropriate Selenium-Webdriver capabilities required to establish connections to locally hosted desktop browsers,
|
312
312
|
locally hosted emulated mobile browsers (iOS, Android, etc.) running within a local instance of Chrome, mobile Safari
|
313
313
|
browsers on iOS device simulators or physical iOS devices, mobile Chrome browsers on Android Studio virtual device
|
314
|
-
emulators, or cloud hosted desktop or mobile web browsers (using BrowserStack, Sauce Labs, TestingBot, or
|
315
|
-
|
314
|
+
emulators, or cloud hosted desktop or mobile web browsers (using BrowserStack, Sauce Labs, TestingBot, or LambdaTest
|
315
|
+
services).
|
316
316
|
email:
|
317
317
|
- testcentricity@gmail.com
|
318
318
|
executables: []
|