Skip to content

Commit

Permalink
Reorganize mobile web profiles (#3435)
Browse files Browse the repository at this point in the history
  • Loading branch information
ikalinin1 authored Dec 9, 2022
1 parent 10571ae commit 3c6164e
Show file tree
Hide file tree
Showing 17 changed files with 98 additions and 23 deletions.
50 changes: 44 additions & 6 deletions .github/workflows/gradle.yml
Original file line number Diff line number Diff line change
Expand Up @@ -268,26 +268,64 @@ jobs:
echo No SAUCELABS_USER and/or SAUCELABS_KEY, SauceLabs system tests will be skipped
fi
- name: SauceLabs - Phone - Web - System tests
- name: SauceLabs - Mobile - Web - System tests
if: matrix.platform == 'ubuntu-latest'
env:
SAUCELABS_USER: ${{ secrets.SAUCELABS_USER }}
SAUCELABS_KEY: ${{ secrets.SAUCELABS_KEY }}
shell: bash
run: |
if [[ -n $SAUCELABS_USER && -n $SAUCELABS_KEY ]]; then
declare -a profiles=( iphone )
declare -a profiles=( iphone android)
for profile in "${profiles[@]}"; do
./gradlew :vividus-tests:debugStories -Pvividus.configuration.environments=system/saucelabs \
-Pvividus.configuration.suites=grid \
-Pvividus.configuration.profiles=saucelabs/web,web/phone/${profile} \
-Pvividus.configuration.suites=grid/saucelabs/${profile} \
-Pvividus.configuration.profiles=saucelabs/web/phone/${profile},web/phone/${profile} \
-Pvividus.selenium.grid.username=${SAUCELABS_USER} \
-Pvividus.selenium.grid.password=${SAUCELABS_KEY}
done
else
echo No SAUCELABS_USER and/or SAUCELABS_KEY, SauceLabs system tests will be skipped
fi
- name: BrowserStack - Mobile - Web - System tests
if: matrix.platform == 'macos-latest'
env:
BROWSERSTACK_USER: ${{ secrets.BROWSERSTACK_USER }}
BROWSERSTACK_KEY: ${{ secrets.BROWSERSTACK_KEY }}
shell: bash
run: |
if [[ -n $BROWSERSTACK_USER && -n $BROWSERSTACK_KEY ]]; then
declare -a profiles=( iphone android )
for profile in "${profiles[@]}"; do
./gradlew :vividus-tests:debugStories -Pvividus.configuration.suites=grid/browserstack/${profile} \
-Pvividus.configuration.profiles=browserstack/web/phone,web/phone/${profile} \
-Pvividus.selenium.grid.username=${BROWSERSTACK_USER} \
-Pvividus.selenium.grid.password=${BROWSERSTACK_KEY}
done
else
echo No BROWSERSTACK_USER and/or BROWSERSTACK_KEY, Browserstack phone system tests will be skipped
fi
- name: Mobitru - Mobile - Web - System tests
if: matrix.platform == 'macos-latest'
env:
MOBITRU_USER: ${{ secrets.MOBITRU_USER }}
MOBITRU_KEY: ${{ secrets.MOBITRU_KEY }}
shell: bash
run: |
if [[ -n $MOBITRU_USER && -n $MOBITRU_KEY ]]; then
declare -a profiles=( iphone android )
for profile in "${profiles[@]}"; do
./gradlew :vividus-tests:debugStories -Pvividus.configuration.suites=grid \
-Pvividus.configuration.profiles=mobitru/web,web/phone/${profile} \
-Pvividus.selenium.grid.username=${MOBITRU_USER} \
-Pvividus.selenium.grid.password=${MOBITRU_KEY}
done
else
echo No MOBITRU_USER and/or MOBITRU_KEY, Mobitru web mobile system tests will be skipped
fi
- name: SauceLabs - iOS - Mobile App - Run system tests (Downscaled)
if: matrix.platform == 'ubuntu-latest'
env:
Expand Down Expand Up @@ -624,7 +662,7 @@ jobs:
if [[ -n $MOBITRU_USER && -n $MOBITRU_KEY ]]; then
./gradlew :vividus-tests:debugStories -Pvividus.configuration.environments= \
-Pvividus.configuration.suites=system/mobile_app/healthcheck/mobitru \
-Pvividus.configuration.profiles=mobitru,mobile_app/android \
-Pvividus.configuration.profiles=mobitru/mobile_app,mobile_app/android \
-Pvividus.selenium.grid.username=${MOBITRU_USER} \
-Pvividus.selenium.grid.password=${MOBITRU_KEY} \
-Pvividus.selenium.grid.capabilities.platformVersion=12 \
Expand Down Expand Up @@ -661,7 +699,7 @@ jobs:
if [[ -n $MOBITRU_USER && -n $MOBITRU_KEY ]]; then
./gradlew :vividus-tests:debugStories -Pvividus.configuration.environments= \
-Pvividus.configuration.suites=system/mobile_app/healthcheck/mobitru \
-Pvividus.configuration.profiles=mobitru,mobile_app/ios \
-Pvividus.configuration.profiles=mobitru/mobile_app,mobile_app/ios \
-Pvividus.selenium.grid.username=${MOBITRU_USER} \
-Pvividus.selenium.grid.password=${MOBITRU_KEY} \
-Pvividus.allure.history-directory=output/history/mt-ios-system-tests \
Expand Down
8 changes: 7 additions & 1 deletion docs/modules/plugins/pages/plugin-browserstack.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,13 @@ The plugin defines profiles with a set of the preconfigured properties.
|===

|`browserstack/web`
|Use in conjunction with web application profiles.
|Use in conjunction with xref:plugins:plugin-web-app.adoc#_desktop[web application profiles].

|`browserstack/web/phone`
a|Use in conjunction with xref:plugins:plugin-web-app.adoc#_phone[web application phone profiles].
Required properties:

* `selenium.grid.device-name`

|`browserstack/mobile_app`
a|Use in conjunction with xref:plugins:plugin-mobile-app.adoc#_profiles[native mobile application profiles].
Expand Down
5 changes: 4 additions & 1 deletion docs/modules/plugins/pages/plugin-mobitru.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,10 @@ IMPORTANT: For the device search plugin relies on the capabilities specified in
[cols="1,2"]
|===

|`mobitru`
|`mobitru/web`
|Use in conjunction with xref:plugins:plugin-web-app.adoc#_phone[web application phone profiles].

|`mobitru/mobile_app`
|Use in conjunction with xref:plugins:plugin-mobile-app.adoc#_profiles[native mobile application profiles].

|===
Expand Down
18 changes: 17 additions & 1 deletion docs/modules/plugins/pages/plugin-sauce-labs.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,23 @@ The plugin defines profiles with a set of the preconfigured properties.
|===

|`saucelabs/web`
|Use in conjunction with web application profiles.
|Use in conjunction with xref:plugins:plugin-web-app.adoc#_desktop[web application profiles].

|`saucelabs/web/phone/iphone`
a|Use in conjunction with xref:plugins:plugin-web-app.adoc#_phone[web application phone profiles].

Required properties:

* `selenium.grid.device-name`
* `selenium.grid.platform-version`

|`saucelabs/web/phone/android`
a|Use in conjunction with xref:plugins:plugin-web-app.adoc#_phone[web application phone profiles].

Required properties:

* `selenium.grid.device-name`
* `selenium.grid.platform-version`

|`saucelabs/mobile_app`
a|Use in conjunction with xref:plugins:plugin-mobile-app.adoc#_profiles[native mobile application profiles].
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Not required to run web mobile tests.
selenium.grid.platform-version=
selenium.grid.capabilities.bstack\:options.deviceName=${selenium.grid.device-name}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
spring.profiles.active=mobile_app,mobitru

selenium.grid.capabilities.automationName=${selenium.grid.automation-name}

mobitru.device-wait-timeout=PT5M
Original file line number Diff line number Diff line change
@@ -1,9 +1,4 @@
spring.profiles.active=mobile_app,mobitru

selenium.grid.enabled=true
selenium.grid.host=app.mobitru.com
selenium.grid.url=https://${selenium.grid.username}:#{T(java.net.URLEncoder).encode('${selenium.grid.password}', T(java.nio.charset.StandardCharsets).UTF_8)}@${selenium.grid.host}/wd/hub
selenium.grid.capabilities.automationName=${selenium.grid.automation-name}
selenium.grid.capabilities.platformName=${selenium.grid.platform-name}

mobitru.device-wait-timeout=PT5M
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Simulator only capabilities
selenium.grid.capabilities.safariIgnoreFraudWarning=true
selenium.grid.capabilities.safariAllowPopups=true
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
selenium.grid.capabilities.appium\:deviceName=${selenium.grid.device-name}
selenium.grid.capabilities.appium\:platformVersion=${selenium.grid.platform-version}
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
selenium.grid.capabilities.platform=Android
selenium.grid.capabilities.platformName=${selenium.grid.capabilities.platform}
selenium.grid.platform-name=Android
selenium.grid.capabilities.platformName=${selenium.grid.platform-name}
selenium.grid.capabilities.browserName=Chrome

selenium.screenshot.strategy=PHONE_ANDROID_PORTRAIT
Original file line number Diff line number Diff line change
@@ -1,11 +1,6 @@
selenium.grid.capabilities.platform=iOS
selenium.grid.capabilities.platformName=${selenium.grid.capabilities.platform}
selenium.grid.capabilities.platformVersion=14.0
selenium.grid.capabilities.deviceName=iPhone Simulator
selenium.grid.platform-name=iOS
selenium.grid.capabilities.platformName=${selenium.grid.platform-name}
selenium.grid.capabilities.browserName=Safari
selenium.grid.capabilities.safariIgnoreFraudWarning=true
selenium.grid.capabilities.safariAllowPopups=true
#selenium.grid.capabilities.unexpectedAlertBehaviour=accept

selenium.grid.capabilities.screenshotWaitTimeout=20

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
selenium.grid.device-name=Samsung Galaxy S22 Ultra
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
selenium.grid.device-name=iPhone 14
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
selenium.grid.device-name=Android GoogleAPI Emulator
selenium.grid.platform-version=12
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
selenium.grid.device-name=iPhone Simulator
selenium.grid.platform-version=14.0

0 comments on commit 3c6164e

Please sign in to comment.