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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 81e3ce8ee09530abd102258e25235af8032599eab54e067784ae3eb6349d2e18
4
- data.tar.gz: 66f82ab5ceede12f34095be1aa4eb96d59c7f4e1adaade724e54aa39f0e7a222
3
+ metadata.gz: 6a51581c1a0aa1b5c14e1f4ca5a99767f05c956d79e62fe3be21864a1b3e3b69
4
+ data.tar.gz: c859c5da5b37a6c1cfc75ea34d04d612d18e35f62bc1419e1fbe27ffe5d0ef79
5
5
  SHA512:
6
- metadata.gz: 1b954744d822885d35b580c233153f3346c4b31ea9ef7667916d816882ff0e3499e3fd162c80ff587529ae6f2c261dd209993f7db7b64af692d7edb7b2843329
7
- data.tar.gz: 1b31ffb82f255889fb5403c5fc4aa9ffc9643715963eedb7abf6a49cfa76f4cb17cfbaa28d6a638665a9fac30e24eeb000911b83c44af30e0fdd1582b36ce1a7
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 Cucumber and TestCentricity™ Web
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) only supports testing of web interfaces via desktop and mobile web browsers
48
- * The [TestCentricity **Mobile** gem](https://rubygems.org/gems/testcentricity_mobile) only supports testing of native iOS and Android mobile apps
49
- * The [TestCentricity **Apps** gem](https://rubygems.org/gems/testcentricity_apps) only supports testing of MacOS desktop apps and native iOS and Android mobile 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 | TestCentricity Web | TestCentricity Mobile | TestCentricity Apps | TestCentricity |
53
- |----------------------------------------------------|--------------------|-----------------------|---------------------|----------------|
54
- | Desktop/mobile web browsers only | Yes | No | No | No |
55
- | Native mobile iOS and/or Android apps only | No | Yes | Yes | No |
56
- | MacOS desktop apps | No | No | Yes | No |
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, add
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 include a `/downloads` folder which is used as the destination for files that are downloaded by
1629
- your automated tests. The `/downloads` folder must be at the same level as the `/config` and `/features` folders, as depicted
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
  ---
@@ -1,3 +1,3 @@
1
1
  module TestCentricityWeb
2
- VERSION = '4.5.7'
2
+ VERSION = '4.5.9'
3
3
  end
@@ -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.19.1'
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.18.1'
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.22.3'
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.13.0',
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.7
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-04-25 00:00:00.000000000 Z
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.0.0
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.0.0
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.20.0
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.20.0
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
- LambdaTest services).
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: []