testcentricity_web 4.5.4 → 4.5.6
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/CHANGELOG.md +16 -0
- data/README.md +29 -8
- data/lib/testcentricity_web/appium_server.rb +6 -1
- data/lib/testcentricity_web/version.rb +1 -1
- data/lib/testcentricity_web/web_core/webdriver_helper.rb +9 -4
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c31b1f64ff5e1d6a67b734e1ad80dbfb2afa80d4a4277de9b44425dad6319b31
|
4
|
+
data.tar.gz: 73655e352a0b5b832fb3b8d676b728aed18416517edaee563cfe92bcde3bccc9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 14ec23c082cf6fd35bef526677b6601697fb72b56cef53743d302c55c2c21c1baa4358a836a2fbda9ef69bece089444aec1a29159256af9d8bc3303aeb7a8071
|
7
|
+
data.tar.gz: d6294de35865dfb7f753da0e84028a37a259a13c4a49ece60e6a4844e6a6d5acc85d90983632c0bbd938f39e64f77b2a4224edd2f0859dd35f85c60ebbf2ba88
|
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,22 @@
|
|
2
2
|
All notable changes to this project will be documented in this file.
|
3
3
|
|
4
4
|
|
5
|
+
## [4.5.6] - 02-APR-2024
|
6
|
+
|
7
|
+
### Fixed
|
8
|
+
|
9
|
+
* `WebDriverConnect.initialize_web_driver`, `AppiumServer.start`, and `AppiumServer.running?` methods now support Appium
|
10
|
+
version 2.x. Backward compatibility with Appium version 1.x is provided if `APPIUM_SERVER_VERSION` Environment Variable
|
11
|
+
is set to `1`.
|
12
|
+
|
13
|
+
|
14
|
+
## [4.5.5] - 27-MAR-2024
|
15
|
+
|
16
|
+
### Changed
|
17
|
+
|
18
|
+
* Updated `selenium-webdriver` gem to version 4.19.0.
|
19
|
+
|
20
|
+
|
5
21
|
## [4.5.4] - 04-MAR-2024
|
6
22
|
|
7
23
|
### Changed
|
data/README.md
CHANGED
@@ -8,15 +8,15 @@
|
|
8
8
|
|
9
9
|
|
10
10
|
The TestCentricity™ Web core framework for desktop and mobile web browser-based app testing implements a Page Object Model
|
11
|
-
DSL for use with Cucumber (version 7.x or greater) or RSpec, and Selenium-Webdriver
|
12
|
-
|
13
|
-
|
11
|
+
DSL for use with Cucumber (version 7.x or greater) or RSpec, and Selenium-Webdriver. It also facilitates the configuration
|
12
|
+
of the appropriate Selenium-Webdriver capabilities required to establish connections with one or more local or cloud hosted
|
13
|
+
desktop or mobile web browsers.
|
14
14
|
|
15
15
|
The TestCentricity™ 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
|
19
|
-
* mobile Safari browsers on iOS device simulators or physical iOS devices (using Appium and XCode on macOS)
|
19
|
+
* mobile Safari browsers on iOS device simulators or physical iOS devices (using Appium 2.x and XCode on macOS)
|
20
20
|
* mobile Chrome or Android browsers on Android Studio virtual device emulators (using Appium and Android Studio)
|
21
21
|
* cloud hosted desktop (Firefox, Chrome, Safari, IE, or Edge) or mobile (iOS Mobile Safari or Android Chrome) web browsers using the following service:
|
22
22
|
* [Browserstack](https://www.browserstack.com/list-of-browsers-and-platforms?product=automate)
|
@@ -40,8 +40,8 @@ can be found [here](https://github.com/TestCentricity/tc_multi_webdriver_sample)
|
|
40
40
|
|
41
41
|
### Which gem should I use?
|
42
42
|
|
43
|
-
* The TestCentricity **Web** gem only supports testing of web interfaces via desktop and mobile web browsers
|
44
|
-
* The TestCentricity **Mobile** gem only supports testing of native iOS and/or Android mobile apps
|
43
|
+
* The [TestCentricity **Web** gem](https://rubygems.org/gems/testcentricity_web) only supports testing of web interfaces via desktop and mobile web browsers
|
44
|
+
* The [TestCentricity **Mobile** gem](https://rubygems.org/gems/testcentricity_mobile) only supports testing of native iOS and/or Android mobile apps
|
45
45
|
* The TestCentricity gem supports testing of native mobile apps and/or web interfaces via desktop and mobile web browsers.
|
46
46
|
|
47
47
|
| Tested platforms | TestCentricity Web | TestCentricity Mobile | TestCentricity |
|
@@ -1880,6 +1880,10 @@ Below is an example of an `options` hash for specifying a connection to a grid h
|
|
1880
1880
|
|
1881
1881
|
Refer to [this page](https://appium.io/docs/en/2.2/guides/caps/) for information regarding specifying Appium capabilities.
|
1882
1882
|
|
1883
|
+
⚠️ If you are running locally hosted mobile web tests on iOS or Android simulators or devices using version 1.x of the Appium
|
1884
|
+
server, the `APPIUM_SERVER_VERSION` environment variable must be set to `1` in order to ensure that the correct Appium server
|
1885
|
+
endpoint is used.
|
1886
|
+
|
1883
1887
|
#### Mobile Safari Browser on iOS Simulators or iOS Physical Devices
|
1884
1888
|
|
1885
1889
|
You can run your mobile web tests against the mobile Safari browser on iOS device simulators or physically connected iOS
|
@@ -1955,7 +1959,7 @@ When using the `options` hash, the following options and capabilities must be sp
|
|
1955
1959
|
> ℹ️ If an optional user defined `driver_name:` is not specified in the `options` hash, the default driver name will be set to
|
1956
1960
|
`appium_safari`.
|
1957
1961
|
>
|
1958
|
-
> ℹ️ If an `endpoint:` is not specified in the `options` hash, then the default remote endpoint URL of `http://localhost:4723
|
1962
|
+
> ℹ️ If an `endpoint:` is not specified in the `options` hash, then the default remote endpoint URL of `http://localhost:4723`
|
1959
1963
|
will be used.
|
1960
1964
|
|
1961
1965
|
Below is an example of an `options` hash for specifying a connection to a locally hosted mobile Safari web browser running
|
@@ -2042,7 +2046,7 @@ When using the `options` hash, the following options and capabilities must be sp
|
|
2042
2046
|
> ℹ️ If an optional user defined `driver_name:` is not specified in the `options` hash, the default driver name will be set to
|
2043
2047
|
`appium_chrome`.
|
2044
2048
|
>
|
2045
|
-
> ℹ️ If an `endpoint:` is not specified in the `options` hash, then the default remote endpoint URL of `http://localhost:4723
|
2049
|
+
> ℹ️ If an `endpoint:` is not specified in the `options` hash, then the default remote endpoint URL of `http://localhost:4723`
|
2046
2050
|
will be used.
|
2047
2051
|
|
2048
2052
|
Below is an example of an `options` hash for specifying a connection to a locally hosted mobile Chrome web browser running
|
@@ -2096,6 +2100,13 @@ starting your Cucumber test suite(s):
|
|
2096
2100
|
|
2097
2101
|
run_appium: APPIUM_SERVER=run
|
2098
2102
|
|
2103
|
+
If you are running locally hosted mobile web tests on iOS or Android simulators or devices using version 1.x of the Appium
|
2104
|
+
server, the `APPIUM_SERVER_VERSION` environment variable must be set to `1` in order to ensure that the correct Appium server
|
2105
|
+
endpoint is used. This can be set by adding the following to your `cucumber.yml` file and including `-p appium_1x` in your
|
2106
|
+
command line when starting your Cucumber test suite(s):
|
2107
|
+
|
2108
|
+
appium_1x: APPIUM_SERVER_VERSION=1
|
2109
|
+
|
2099
2110
|
Refer to [**section 8.9 (Using Browser Specific Profiles in `cucumber.yml`)**](#using-browser-specific-profiles-in-cucumber-yml) below.
|
2100
2111
|
|
2101
2112
|
|
@@ -2116,6 +2127,10 @@ body of an example group:
|
|
2116
2127
|
$server.stop if Environ.driver == :appium && $server.running?
|
2117
2128
|
end
|
2118
2129
|
```
|
2130
|
+
If you are running locally hosted mobile web tests on iOS or Android simulators or devices using version 1.x of the Appium
|
2131
|
+
server, the `APPIUM_SERVER_VERSION` environment variable must be set to `1` in order to ensure that the correct Appium server
|
2132
|
+
endpoint is used.
|
2133
|
+
|
2119
2134
|
|
2120
2135
|
### Remote Cloud Hosted Desktop and Mobile Web Browsers
|
2121
2136
|
|
@@ -2936,6 +2951,7 @@ with access to your version control system.
|
|
2936
2951
|
#==============
|
2937
2952
|
|
2938
2953
|
run_appium: APPIUM_SERVER=run
|
2954
|
+
appium_1x: APPIUM_SERVER_VERSION=1
|
2939
2955
|
|
2940
2956
|
|
2941
2957
|
#==============
|
@@ -3099,6 +3115,11 @@ You can ensure that Appium Server is running by including `-p run_appium` in you
|
|
3099
3115
|
|
3100
3116
|
cucumber -p ipad_pro_12_15_sim -p landscape -p run_appium
|
3101
3117
|
|
3118
|
+
If you are running locally hosted mobile web tests using version 1.x of Appium server, you must include `-p appium_1x` in
|
3119
|
+
your command line:
|
3120
|
+
|
3121
|
+
cucumber -p ipad_pro_12_15_sim -p landscape -p run_appium -p appium_1x
|
3122
|
+
|
3102
3123
|
|
3103
3124
|
The following command specifies that Cucumber will run tests against a remotely hosted Safari web browser running on a macOS
|
3104
3125
|
Sonoma virtual machine on the BrowserStack service:
|
@@ -38,9 +38,14 @@ module TestCentricity
|
|
38
38
|
# Check to see if Appium Server is running
|
39
39
|
#
|
40
40
|
def running?
|
41
|
+
endpoint = if ENV['APPIUM_SERVER_VERSION'] && ENV['APPIUM_SERVER_VERSION'].to_i == 1
|
42
|
+
'http://0.0.0.0:4723/wd/hub/sessions'
|
43
|
+
else
|
44
|
+
'http://0.0.0.0:4723/sessions'
|
45
|
+
end
|
41
46
|
response = false
|
42
47
|
begin
|
43
|
-
response = Net::HTTP.get_response(URI(
|
48
|
+
response = Net::HTTP.get_response(URI(endpoint))
|
44
49
|
rescue
|
45
50
|
end
|
46
51
|
response && response.code_type == Net::HTTPOK
|
@@ -293,7 +293,7 @@ module TestCentricity
|
|
293
293
|
# :nocov:
|
294
294
|
else
|
295
295
|
caps[:'appium:wdaLocalPort'] = ENV['WDA_LOCAL_PORT'] if ENV['WDA_LOCAL_PORT']
|
296
|
-
caps[:'appium:systemPort']
|
296
|
+
caps[:'appium:systemPort'] = ENV['SYSTEM_PORT'] if ENV['SYSTEM_PORT']
|
297
297
|
end
|
298
298
|
caps
|
299
299
|
else
|
@@ -303,8 +303,13 @@ module TestCentricity
|
|
303
303
|
@capabilities
|
304
304
|
end
|
305
305
|
# specify endpoint url
|
306
|
-
|
307
|
-
|
306
|
+
if @endpoint.nil?
|
307
|
+
@endpoint = if ENV['APPIUM_SERVER_VERSION'] && ENV['APPIUM_SERVER_VERSION'].to_i == 1
|
308
|
+
'http://127.0.0.1:4723/wd/hub'
|
309
|
+
else
|
310
|
+
'http://127.0.0.1:4723'
|
311
|
+
end
|
312
|
+
end
|
308
313
|
register_remote_driver(Environ.browser, caps)
|
309
314
|
end
|
310
315
|
|
@@ -481,7 +486,7 @@ module TestCentricity
|
|
481
486
|
else
|
482
487
|
# define desktop browser options
|
483
488
|
bs_options[:resolution] = ENV['RESOLUTION'] if ENV['RESOLUTION']
|
484
|
-
bs_options[:seleniumVersion] = '4.
|
489
|
+
bs_options[:seleniumVersion] = '4.18.1'
|
485
490
|
{
|
486
491
|
browserName: browser,
|
487
492
|
browserVersion: ENV['BS_VERSION'],
|
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.6
|
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-04-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -268,14 +268,14 @@ dependencies:
|
|
268
268
|
requirements:
|
269
269
|
- - '='
|
270
270
|
- !ruby/object:Gem::Version
|
271
|
-
version: 4.
|
271
|
+
version: 4.19.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.19.0
|
279
279
|
- !ruby/object:Gem::Dependency
|
280
280
|
name: test-unit
|
281
281
|
requirement: !ruby/object:Gem::Requirement
|
@@ -307,8 +307,8 @@ dependencies:
|
|
307
307
|
description: |2-
|
308
308
|
|
309
309
|
The TestCentricity™ Web core framework for desktop and mobile web browser-based app testing implements a Page Object
|
310
|
-
Model DSL for use with Cucumber or RSpec, and Selenium-Webdriver
|
311
|
-
|
310
|
+
Model DSL for use with Cucumber or RSpec, and Selenium-Webdriver. The gem also facilitates the configuration of the
|
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
314
|
emulators, or cloud hosted desktop or mobile web browsers (using BrowserStack, Sauce Labs, TestingBot, or
|