UITest on SauceLabs #12
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: UITest on SauceLabs | |
on: | |
workflow_dispatch: | |
inputs: | |
device: | |
required: true | |
default: 'Pixel8_API33' | |
type: choice | |
options: | |
- 'Pixel8_API33' | |
- 'Pixel8_API35' | |
runner: | |
required: true | |
default: 'autotestdebug' | |
type: choice | |
options: | |
- 'autotestdebug' | |
- 'ubuntu-latest' | |
jobs: | |
build: | |
name: build android application for ui tests | |
runs-on: ${{ github.event.inputs.runner || 'autotestdebug' }} | |
timeout-minutes: 30 | |
steps: | |
- name: Print Env Variables | |
run: env | |
working-directory: ${{ github.workspace }} | |
- name: checkout source code of application | |
uses: actions/checkout@v4 | |
with: | |
clean: true | |
path: 'appodeal-android-sdk' | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v4 | |
with: | |
java-version: '17' | |
distribution: 'temurin' | |
- name: Build with Gradle | |
working-directory: ${{ github.workspace }}/appodeal-android-sdk | |
run: | | |
./gradlew updateVersionName -PnewVersion=${{ env.GITHUB_RUN_NUMBER }} || true | |
./gradlew :banner:assembleDebug | |
- name: save debug build for Saucelabs | |
uses: actions/upload-artifact@v4 | |
with: | |
name: banner-debug.apk | |
path: appodeal-android-sdk/banner/build/outputs/apk/debug/banner-debug.apk | |
retention-days: 14 | |
- name: Upload apk to SauceLabs | |
run: | | |
curl -u "${{ secrets.SAUCELABS_USERNAME }}:${{ secrets.SAUCELABS_ACCESS_KEY }}" --location \ | |
--request POST 'https://api.eu-central-1.saucelabs.com/v1/storage/upload' \ | |
--form 'payload=@"appodeal-android-sdk/banner/build/outputs/apk/debug/banner-debug.apk"' \ | |
--form 'name="banner-debug.apk"' \ | |
--form 'description="APD demo ${{ env.GITHUB_REF_NAME }} launch by ${{ env.GITHUB_RUN_ID }}"' | |
tests: | |
name: run ui tests on aws with appium | |
needs: build | |
runs-on: ${{ github.event.inputs.runner || 'autotestdebug' }} | |
timeout-minutes: 30 | |
steps: | |
- name: Print Env Variables | |
run: env | |
working-directory: ${{ github.workspace }} | |
- name: checkout source code of application | |
uses: actions/checkout@v4 | |
with: | |
path: 'SDK-Auto-Test' | |
clean: true | |
repository: 'appodeal/SDK-Auto-Test' | |
ref: 'aws' | |
token: ${{ secrets.UITESTREPOACCESS }} | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v4 | |
with: | |
java-version: '17' | |
distribution: 'temurin' | |
- name: Launch tests on SauceLabs | |
working-directory: ${{ github.workspace }}/SDK-Auto-Test | |
run: | | |
mvn clean | |
sleep 10 | |
mvn -Dtest=AndroidAppTest test | |
- name: save Allure result | |
uses: actions/upload-artifact@v4 | |
if: always() | |
with: | |
name: allure-results | |
path: ${{ github.workspace }}/SDK-Auto-Test/target/allure-results | |
- name: Adding summary | |
if: ${{ always() }} | |
run: | | |
echo "### Results of test execution :fire:" >> $GITHUB_STEP_SUMMARY | |
echo "Launch: ${{ github.run_number }}" >> $GITHUB_STEP_SUMMARY | |
echo "Device: ${{ github.event.inputs.device }}" >> $GITHUB_STEP_SUMMARY | |
echo "Build agent: ${{ github.event.inputs.runner }}" >> $GITHUB_STEP_SUMMARY | |
# GITHUB_REF_NAME=feature/auto_test | |
# GITHUB_RUN_ID=10653731636 | |
# GITHUB_REPOSITORY=appodeal/appodeal-android-sdk | |
# https://github.com/appodeal/appodeal-android-sdk/actions/runs/10653731636 | |
# GITHUB_TRIGGERING_ACTOR=johnlitvinov | |
# ${{ env.GITHUB_RUN_ID }} | |
# | |
# mvn clean test -DtestEnv=${ENVIRONMENT} -P${SUITE} -Dmaven.repo.local=$MAVEN_LOCAL_REPO -Dstand=${STAND} -Dselenide.browser=${PLATFORM} -Dlocal_run=false | |
# mvn io.qameta.allure:allure-maven:report -Dmaven.repo.local=$MAVEN_LOCAL_REPO |