testcentricity 3.0.6 → 3.1.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0ce51326d5b5bd311a446fb293120d23429fff0bb4b67a637c4e05377bcd4335
4
- data.tar.gz: a225e713a5734b898db54d693708964f609cbcf660b3e63832e2ce638222d14d
3
+ metadata.gz: 2758825ab228a75d0bae37cbdc399b496ad7328864ec502004da2baddaf12fa8
4
+ data.tar.gz: 986612a77b2c174bd8617744745d08a402cdda609df528851a9d5c78a4e40c6e
5
5
  SHA512:
6
- metadata.gz: 8a1961921ea74234539f9b236472529c4682cb161f85cb139daea60a6b1ca1318e490a1795c56da6252bc83ee03c544abc6b499f09b94bb697e660f31dfc54c0
7
- data.tar.gz: b24b5dfc275b53ba69774ba74f4d580615a759d3302f128d47485ea4498d16dcca14e75a041528c7292a7cfe4c677bf273db89db5ba835a08d0113fd00161b04
6
+ metadata.gz: b1e22099243c98338cb90a1d9d67e42bb7a1e2c71cf2783f8d7afbde6470aedcd78f4e4a06a37ed341725b13d34fde5c6183ff6a0e99977a8781e799bbe89f30
7
+ data.tar.gz: aa5f2334030c4911c8ed8ab6749c0d30d4aba8334688b2eac9298e932ed79f67182e931b9693ae998c10f38d0050251ff1ba705dbd7373a090a21dfff2259e39
data/CHANGELOG.md CHANGED
@@ -2,6 +2,18 @@
2
2
  All notable changes to this project will be documented in this file.
3
3
 
4
4
 
5
+ ## [3.1.0] - 02-AUGUST-2022
6
+
7
+ ### Added
8
+ * The `DRIVER` Environment Variable is now used to specify the `appium`, `browserstack`, `saucelabs`, `testingbot`,
9
+ or `lambdatest` driver.
10
+
11
+ * ### Changed
12
+ * The `WEB_BROWSER` Environment Variable is no longer used to specify the `appium`, `browserstack`, `saucelabs`, `testingbot`,
13
+ or `lambdatest` driver.
14
+ * TestCentricity now supports and integrates with Selenium-Webdriver version 4.3.
15
+
16
+
5
17
  ## [3.0.6] - 21-JUNE-2022
6
18
 
7
19
  ### Fixed
data/README.md CHANGED
@@ -5,10 +5,10 @@
5
5
 
6
6
 
7
7
  The TestCentricity™ core framework for native mobile iOS and Android apps and desktop/mobile web testing implements a Screen
8
- and Page Object Model DSL for use with Cucumber (version 7.x or greater), Appium, Capybara, and Selenium-Webdriver (version 4.x). It also facilitates
9
- the configuration of the appropriate Appium capabilities and driver required to establish a connection with locally hosted or
10
- cloud hosted (using BrowserStack, Sauce Labs, or TestingBot services) iOS and Android real devices or simulators. For more
11
- information on desktop/mobile web testing with this gem, refer to docs for the [TestCentricity™ Web gem](https://www.rubydoc.info/gems/testcentricity_web)
8
+ and Page Object Model DSL for use with Cucumber (version 7.x or greater), Appium, Capybara, and Selenium-Webdriver (version
9
+ 4.3). It also facilitates the configuration of the appropriate Appium capabilities and driver required to establish a connection
10
+ with locally hosted or cloud hosted (using BrowserStack, Sauce Labs, or TestingBot services) iOS and Android real devices or
11
+ simulators. For more information on desktop/mobile web testing with this gem, refer to docs for the [TestCentricity™ Web gem](https://www.rubydoc.info/gems/testcentricity_web)
12
12
 
13
13
  The TestCentricity™ gem supports automated testing of native iOS and Android apps running on the following mobile test targets:
14
14
  * locally hosted iOS device simulators or physical iOS devices (using Appium and XCode on macOS)
@@ -858,7 +858,9 @@ tests, place the code shown below into your `hooks.rb` file.
858
858
  BeforeAll do
859
859
  # start Appium Server if command line option was specified and target browser is mobile simulator or device
860
860
  if ENV['APPIUM_SERVER'] == 'run' && Environ.driver == :appium
861
- end
861
+ $server = TestCentricity::AppiumServer.new
862
+ $server.start
863
+ end
862
864
  end
863
865
 
864
866
  AfterAll do
@@ -885,24 +887,24 @@ The Appium server must be running prior to invoking Cucumber to run your feature
885
887
 
886
888
  Once your test environment is properly configured, the following **Environment Variables** must be set as described in the table below.
887
889
 
888
- | **Environment Variable** | **Description** |
889
- |----------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------|
890
- | `WEB_BROWSER` | Must be set to `appium` |
891
- | `APP_PLATFORM_NAME` | Must be set to `iOS` |
892
- | `AUTOMATION_ENGINE` | Must be set to `XCUITest` |
893
- | `APP_VERSION` | Must be set to `15.4`, `14.5`, or which ever iOS version you wish to run within the XCode Simulator |
894
- | `APP_DEVICE` | Set to iOS device name supported by the iOS Simulator (`iPhone 13 Pro Max`, `iPad Pro (12.9-inch) (5th generation)`, etc.) or name of physically connected iOS device |
895
- | `DEVICE_TYPE` | Must be set to `phone` or `tablet` |
896
- | `APP_UDID` | UDID of physically connected iOS device (not used for simulators) |
897
- | `TEAM_ID` | unique 10-character Apple developer team identifier string (not used for simulators) |
898
- | `TEAM_NAME` | String representing a signing certificate (not used for simulators) |
899
- | `APP_NO_RESET` | [Optional] Don't reset app state after each test. Set to `true` or `false` |
900
- | `APP_FULL_RESET` | [Optional] Perform a complete reset. Set to `true` or `false` |
901
- | `WDA_LOCAL_PORT` | [Optional] Used to forward traffic from Mac host to real iOS devices over USB. Default value is same as port number used by WDA on device. |
902
- | `LOCALE` | [Optional] Locale to set for the simulator. e.g. `fr_CA` |
903
- | `LANGUAGE` | [Optional] Language to set for the simulator. e.g. `fr` |
904
- | `ORIENTATION` | [Optional] Set to `portrait` or `landscape` (only for iOS simulators) |
905
- | `NEW_COMMAND_TIMEOUT` | [Optional] Time (in Seconds) that Appium will wait for a new command from the client |
890
+ | **Environment Variable** | **Description** |
891
+ |--------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------|
892
+ | `DRIVER` | Must be set to `appium` |
893
+ | `APP_PLATFORM_NAME` | Must be set to `iOS` |
894
+ | `AUTOMATION_ENGINE` | Must be set to `XCUITest` |
895
+ | `APP_VERSION` | Must be set to `15.4`, `14.5`, or which ever iOS version you wish to run within the XCode Simulator |
896
+ | `APP_DEVICE` | Set to iOS device name supported by the iOS Simulator (`iPhone 13 Pro Max`, `iPad Pro (12.9-inch) (5th generation)`, etc.) or name of physically connected iOS device |
897
+ | `DEVICE_TYPE` | Must be set to `phone` or `tablet` |
898
+ | `APP_UDID` | UDID of physically connected iOS device (not used for simulators) |
899
+ | `TEAM_ID` | unique 10-character Apple developer team identifier string (not used for simulators) |
900
+ | `TEAM_NAME` | String representing a signing certificate (not used for simulators) |
901
+ | `APP_NO_RESET` | [Optional] Don't reset app state after each test. Set to `true` or `false` |
902
+ | `APP_FULL_RESET` | [Optional] Perform a complete reset. Set to `true` or `false` |
903
+ | `WDA_LOCAL_PORT` | [Optional] Used to forward traffic from Mac host to real iOS devices over USB. Default value is same as port number used by WDA on device. |
904
+ | `LOCALE` | [Optional] Locale to set for the simulator. e.g. `fr_CA` |
905
+ | `LANGUAGE` | [Optional] Language to set for the simulator. e.g. `fr` |
906
+ | `ORIENTATION` | [Optional] Set to `portrait` or `landscape` (only for iOS simulators) |
907
+ | `NEW_COMMAND_TIMEOUT` | [Optional] Time (in Seconds) that Appium will wait for a new command from the client |
906
908
 
907
909
 
908
910
  Refer to **section 9.5 (Using Configuration Specific Profiles in cucumber.yml)** below.
@@ -917,21 +919,21 @@ to run your features/scenarios.
917
919
 
918
920
  Once your test environment is properly configured, the following **Environment Variables** must be set as described in the table below.
919
921
 
920
- | **Environment Variable** | **Description** |
921
- |---------------------------|--------------------------------------------------------------------------------------------------------------------------------|
922
- | `WEB_BROWSER` | Must be set to `appium` |
923
- | `APP_PLATFORM_NAME` | Must be set to `Android` |
924
- | `AUTOMATION_ENGINE` | Must be set to `UiAutomator2` |
925
- | `APP_VERSION` | Must be set to `12.0`, or which ever Android OS version you wish to run with the Android Virtual Device |
926
- | `APP_DEVICE` | Set to Android Virtual Device ID (`Pixel_2_XL_API_26`, `Nexus_6_API_23`, etc.) found in Advanced Settings of AVD Configuration |
927
- | `DEVICE_TYPE` | Must be set to `phone` or `tablet` |
928
- | `APP_UDID` | UDID of physically connected Android device (not used for simulators) |
929
- | `ORIENTATION` | [Optional] Set to `portrait` or `landscape` |
930
- | `APP_NO_RESET` | [Optional] Don't reset app state after each test. Set to `true` or `false` |
931
- | `APP_FULL_RESET` | [Optional] Perform a complete reset. Set to `true` or `false` |
932
- | `LOCALE` | [Optional] Locale to set for the simulator. e.g. `fr_CA` |
933
- | `LANGUAGE` | [Optional] Language to set for the simulator. e.g. `fr` |
934
- | `NEW_COMMAND_TIMEOUT` | [Optional] Time (in Seconds) that Appium will wait for a new command from the client |
922
+ | **Environment Variable** | **Description** |
923
+ |--------------------------|--------------------------------------------------------------------------------------------------------------------------------|
924
+ | `DRIVER` | Must be set to `appium` |
925
+ | `APP_PLATFORM_NAME` | Must be set to `Android` |
926
+ | `AUTOMATION_ENGINE` | Must be set to `UiAutomator2` |
927
+ | `APP_VERSION` | Must be set to `12.0`, or which ever Android OS version you wish to run with the Android Virtual Device |
928
+ | `APP_DEVICE` | Set to Android Virtual Device ID (`Pixel_2_XL_API_26`, `Nexus_6_API_23`, etc.) found in Advanced Settings of AVD Configuration |
929
+ | `DEVICE_TYPE` | Must be set to `phone` or `tablet` |
930
+ | `APP_UDID` | UDID of physically connected Android device (not used for simulators) |
931
+ | `ORIENTATION` | [Optional] Set to `portrait` or `landscape` |
932
+ | `APP_NO_RESET` | [Optional] Don't reset app state after each test. Set to `true` or `false` |
933
+ | `APP_FULL_RESET` | [Optional] Perform a complete reset. Set to `true` or `false` |
934
+ | `LOCALE` | [Optional] Locale to set for the simulator. e.g. `fr_CA` |
935
+ | `LANGUAGE` | [Optional] Language to set for the simulator. e.g. `fr` |
936
+ | `NEW_COMMAND_TIMEOUT` | [Optional] Time (in Seconds) that Appium will wait for a new command from the client |
935
937
 
936
938
 
937
939
  Refer to **section 9.5 (Using Configuration Specific Profiles in cucumber.yml)** below.
@@ -951,7 +953,7 @@ for information regarding the specific capabilities.
951
953
 
952
954
  | **Environment Variable** | **Description** |
953
955
  |--------------------------|-------------------------------------------------------------------------------------------------------------------------------------|
954
- | `WEB_BROWSER` | Must be set to `browserstack` |
956
+ | `DRIVER` | Must be set to `browserstack` |
955
957
  | `BS_USERNAME` | Must be set to your BrowserStack account user name |
956
958
  | `BS_AUTHKEY` | Must be set to your BrowserStack account access key |
957
959
  | `BS_OS` | Must be set to `ios` or `android` |
@@ -975,7 +977,7 @@ to obtain information regarding the specific capabilities.
975
977
 
976
978
  | **Environment Variable** | **Description** |
977
979
  |--------------------------|-----------------------------------------------------------------------------------------------------------------|
978
- | `WEB_BROWSER` | Must be set to `saucelabs` |
980
+ | `DRIVER` | Must be set to `saucelabs` |
979
981
  | `SL_USERNAME` | Must be set to your Sauce Labs account user name or email address |
980
982
  | `SL_AUTHKEY` | Must be set to your Sauce Labs account access key |
981
983
  | `DATA_CENTER` | Must be set to your Sauce Labs account Data Center assignment (`us-west-1`, `eu-central-1`, `apac-southeast-1`) |
@@ -996,7 +998,7 @@ for information regarding the specific capabilities.
996
998
 
997
999
  | **Environment Variable** | **Description** |
998
1000
  |--------------------------|---------------------------------------------------|
999
- | `WEB_BROWSER` | Must be set to `testingbot` |
1001
+ | `DRIVER` | Must be set to `testingbot` |
1000
1002
  | `TB_USERNAME` | Must be set to your TestingBot account user name |
1001
1003
  | `TB_AUTHKEY` | Must be set to your TestingBot account access key |
1002
1004
  | `TB_OS` | Must be set to `ios` or `android` |
@@ -1046,7 +1048,7 @@ code for the cloud service(s) that you intend to connect with.
1046
1048
  # NOTE: Requires installation of XCode, iOS version specific target simulators, and Appium
1047
1049
  #==============
1048
1050
 
1049
- appium_ios: WEB_BROWSER=appium --profile ios AUTOMATION_ENGINE=XCUITest APP_PLATFORM_NAME="iOS" NEW_COMMAND_TIMEOUT="30" <%= mobile %>
1051
+ appium_ios: DRIVER=appium --profile ios AUTOMATION_ENGINE=XCUITest APP_PLATFORM_NAME="iOS" NEW_COMMAND_TIMEOUT="30" <%= mobile %>
1050
1052
  app_ios_14: --profile appium_ios APP_VERSION="14.5"
1051
1053
  app_ios_15: --profile appium_ios APP_VERSION="15.4"
1052
1054
 
@@ -1061,7 +1063,7 @@ code for the cloud service(s) that you intend to connect with.
1061
1063
  # NOTE: Requires installation of Android Studio, Android version specific virtual device simulators, and Appium
1062
1064
  #==============
1063
1065
 
1064
- appium_android: WEB_BROWSER=appium --profile android AUTOMATION_ENGINE=UiAutomator2 APP_PLATFORM_NAME="Android" <%= mobile %>
1066
+ appium_android: DRIVER=appium --profile android AUTOMATION_ENGINE=UiAutomator2 APP_PLATFORM_NAME="Android" <%= mobile %>
1065
1067
  app_android_12: --profile appium_android APP_VERSION="12.0"
1066
1068
  pixel_5_api31_sim: --profile app_android_12 DEVICE_TYPE=phone APP_DEVICE="Pixel_5_API_31"
1067
1069
 
@@ -1072,7 +1074,7 @@ code for the cloud service(s) that you intend to connect with.
1072
1074
  # to your version control system
1073
1075
  #==============
1074
1076
 
1075
- browserstack: WEB_BROWSER=browserstack BS_USERNAME="<INSERT USER NAME HERE>" BS_AUTHKEY="<INSERT PASSWORD HERE>" TEST_CONTEXT="TestCentricity"
1077
+ browserstack: DRIVER=browserstack BS_USERNAME="<INSERT USER NAME HERE>" BS_AUTHKEY="<INSERT PASSWORD HERE>" TEST_CONTEXT="TestCentricity"
1076
1078
 
1077
1079
  # BrowserStack iOS real device native app profiles
1078
1080
  bs_ios: --profile browserstack --profile ios BS_OS=ios <%= mobile %>
@@ -1091,7 +1093,7 @@ code for the cloud service(s) that you intend to connect with.
1091
1093
  # to your version control system
1092
1094
  #==============
1093
1095
 
1094
- saucelabs: WEB_BROWSER=saucelabs SL_USERNAME="<INSERT USER NAME HERE>" SL_AUTHKEY="<INSERT PASSWORD HERE>" DATA_CENTER="us-west-1" AUTOMATE_PROJECT="TestCentricity - SauceLabs"
1096
+ saucelabs: DRIVER=saucelabs SL_USERNAME="<INSERT USER NAME HERE>" SL_AUTHKEY="<INSERT PASSWORD HERE>" DATA_CENTER="us-west-1" AUTOMATE_PROJECT="TestCentricity - SauceLabs"
1095
1097
 
1096
1098
  # SauceLabs iOS real device native app profiles
1097
1099
  sl_ios: --profile saucelabs --profile ios SL_OS=ios <%= mobile %>
@@ -1109,7 +1111,7 @@ code for the cloud service(s) that you intend to connect with.
1109
1111
  # to your version control system
1110
1112
  #==============
1111
1113
 
1112
- testingbot: WEB_BROWSER=testingbot TB_USERNAME="<INSERT USER NAME HERE>" TB_AUTHKEY="<INSERT PASSWORD HERE>" AUTOMATE_PROJECT="TestCentricity - TestingBot"
1114
+ testingbot: DRIVER=testingbot TB_USERNAME="<INSERT USER NAME HERE>" TB_AUTHKEY="<INSERT PASSWORD HERE>" AUTOMATE_PROJECT="TestCentricity - TestingBot"
1113
1115
 
1114
1116
  # TestingBot iOS real device native app profiles
1115
1117
  tb_ios: --profile testingbot --profile ios TB_OS=iOS <%= mobile %>
@@ -18,14 +18,12 @@ module TestCentricity
18
18
  @capabilities = options[:desired_capabilities] if options.key?(:desired_capabilities)
19
19
  end
20
20
  Environ.platform = :mobile
21
- Environ.driver = :appium
22
21
  Environ.device_type = ENV['DEVICE_TYPE'] if ENV['DEVICE_TYPE']
23
22
 
24
23
  Environ.device_orientation = ENV['ORIENTATION'] if ENV['ORIENTATION']
25
24
  Environ.device_os_version = ENV['APP_VERSION']
26
- browser = ENV['WEB_BROWSER']
27
- Environ.browser = browser
28
- case browser.downcase.to_sym
25
+ Environ.driver = ENV['DRIVER'].downcase.to_sym
26
+ case Environ.driver
29
27
  when :appium
30
28
  Environ.device_name = ENV['APP_DEVICE']
31
29
  Environ.device_os = ENV['APP_PLATFORM_NAME']
@@ -47,14 +45,13 @@ module TestCentricity
47
45
  Environ.device_name = ENV['LT_DEVICE']
48
46
  Environ.device_os = ENV['LT_OS']
49
47
  else
50
- raise "#{browser} is not a valid selector"
48
+ raise "#{Environ.driver} is not a valid selector"
51
49
  end
52
50
  @running = false
53
51
  end
54
52
 
55
53
  def self.start_driver
56
- browser = Environ.browser
57
- capabilities = case browser.downcase.to_sym
54
+ capabilities = case Environ.driver
58
55
  when :appium
59
56
  appium_local_capabilities
60
57
  when :browserstack
@@ -66,7 +63,7 @@ module TestCentricity
66
63
  when :lambdatest
67
64
  lambdatest_capabilities
68
65
  else
69
- raise "#{browser} is not a valid selector"
66
+ raise "#{Environ.driver} is not a valid selector"
70
67
  end
71
68
  puts "Appium desired_capabilities = #{capabilities}" if ENV['DEBUG']
72
69
 
@@ -1,3 +1,3 @@
1
1
  module TestCentricity
2
- VERSION = '3.0.6'
2
+ VERSION = '3.1.0'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: testcentricity
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.6
4
+ version: 3.1.0
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: 2022-06-21 00:00:00.000000000 Z
11
+ date: 2022-08-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -28,16 +28,16 @@ dependencies:
28
28
  name: cucumber
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - '='
32
32
  - !ruby/object:Gem::Version
33
- version: '0'
33
+ version: 8.0.0
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ">="
38
+ - - '='
39
39
  - !ruby/object:Gem::Version
40
- version: '0'
40
+ version: 8.0.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: cuke_modeler
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -98,16 +98,16 @@ dependencies:
98
98
  name: rspec
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - "~>"
101
+ - - ">="
102
102
  - !ruby/object:Gem::Version
103
- version: '3.10'
103
+ version: 3.11.0
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - "~>"
108
+ - - ">="
109
109
  - !ruby/object:Gem::Version
110
- version: '3.10'
110
+ version: 3.11.0
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: simplecov
113
113
  requirement: !ruby/object:Gem::Requirement
@@ -184,14 +184,14 @@ dependencies:
184
184
  requirements:
185
185
  - - ">="
186
186
  - !ruby/object:Gem::Version
187
- version: 4.2.6
187
+ version: 4.3.0
188
188
  type: :runtime
189
189
  prerelease: false
190
190
  version_requirements: !ruby/object:Gem::Requirement
191
191
  requirements:
192
192
  - - ">="
193
193
  - !ruby/object:Gem::Version
194
- version: 4.2.6
194
+ version: 4.3.0
195
195
  - !ruby/object:Gem::Dependency
196
196
  name: test-unit
197
197
  requirement: !ruby/object:Gem::Requirement