testcentricity 3.0.6 → 3.1.0

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: 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