How to run Android UI tests on virtual devices

Hey @burak.malkoc!

Thank you for asking! Please see my test workflow below for this case. :slight_smile:

---
format_version: '3'
default_step_lib_source: https://github.com/bitrise-io/bitrise-steplib.git
project_type: android
trigger_map:
- push_branch: "*"
  workflow: primary
- pull_request_source_branch: "*"
  workflow: primary
app:
  envs:
  - opts:
      is_expand: false
    GRADLE_BUILD_FILE_PATH: build.gradle
  - opts:
      is_expand: false
    GRADLEW_PATH: "./gradlew"
workflows:
  primary:
    steps:
    - activate-ssh-key@3.1.1:
        run_if: '{{getenv "SSH_RSA_PRIVATE_KEY" | ne ""}}'
    - git-clone@3.5.2: {}
    - cache-pull@2.0.0: {}
    - install-missing-android-tools@2.0.2: {}
    - gradle-runner@1.7.7:
        inputs:
        - gradle_file: "$GRADLE_BUILD_FILE_PATH"
        - gradle_task: assembleDebugAndroidTest
        - gradlew_path: "$GRADLEW_PATH"
        - apk_file_exclude_filter: 
    - script@1.1.4:
        title: Store Test APK path with envman
        inputs:
        - content: |-
            #!/bin/bash
            envman add --key "BITRISE_TEST_APK" --value "$BITRISE_APK_PATH"
    - gradle-runner@1.7.7:
        inputs:
        - gradle_file: "$GRADLE_BUILD_FILE_PATH"
        - gradle_task: assembleDebug
        - gradlew_path: "$GRADLEW_PATH"
    - cache-push@2.0.1: {}
    - virtual-device-testing-for-android@0.9.7:
        inputs:
        - test_type: instrumentation
        - test_apk_path: "$BITRISE_TEST_APK"

2 Likes