Я создал несколько тестов пользовательского интерфейса эспрессо.Тесты отлично работают локально (эмулятор и реальное устройство).Но когда я пытаюсь запустить тест пользовательского интерфейса на CircleCI.Я получаю этот журнал ошибок
Задача: app: compileFossDebugAndroidTestKotlin Компиляция с демоном компиляции Kotlin не удалась java.rmi.UnmarshalException: Ошибка немаршалирования возвращаемого заголовка;вложенное исключение:
Невозможно очистить кэш JAR после компиляции, возможно, демон уже отключен: java.rmi.ConnectException: соединение с хостом отказано: 127.0.0.1;Вложенное исключение: java.net.ConnectException: соединение отклонено (соединение отклонено) Не удалось подключиться к демону kotlin.Использование резервной стратегии.
Подобраны JAVA_TOOL_OPTIONS: -Xms512m
Задача: app: compileFossDebugAndroidTestKotlin FAILED
СБОЙ: ошибка сборки: исключение.
- Что пошло не так: выполнение задачи не выполнено: app: compileFossDebugAndroidTestKotlin '.
Более подробная информация о журнале ошибок доступна здесь
Вот мой файл config.yml для кругов с заданием run-ui-tests
run-ui-tests:
docker:
- image: circleci/android@sha256:5cdc8626cc6f13efe5ed982cdcdb432b0472f8740fed8743a6461e025ad6cdfc
environment:
JVM_OPTS: -Xmx2048m
GRADLE_OPTS: -Xmx1536m -XX:+HeapDumpOnOutOfMemoryError -Dorg.gradle.caching=true -Dorg.gradle.configureondemand=true -Dkotlin.compiler.execution.strategy=in-process -Dkotlin.incremental=false
steps:
- checkout
- run:
name: ANDROID_HOME
command: echo "sdk.dir="$ANDROID_HOME > local.properties
- run:
name: restore files from ENV
command: |
echo $ROCKET_JKS_BASE64 | base64 --decode > Rocket.jks
echo $ROCKET_PLAY_JSON | base64 --decode > app/rocket-chat.json
- run:
name: checkout Rocket.Chat.Kotlin.SDK
command: git clone https://github.com/RocketChat/Rocket.Chat.Kotlin.SDK.git ../Rocket.Chat.Kotlin.SDK
- restore_cache:
key: kotlin-sdk-{{ .Revision }}
- restore_cache:
key: jars-{{ checksum "build.gradle" }}-{{ checksum "app/build.gradle" }}
- run:
name: Accept licenses
command: yes | sdkmanager --licenses || true
- run:
name: Download Dependencies
command: ./gradlew androidDependencies
- save_cache:
paths:
- ~/.gradle
key: jars-{{ checksum "build.gradle" }}-{{ checksum "app/build.gradle" }}
- run:
name: Setup emulator
command: sdkmanager "system-images;android-22;default;armeabi-v7a" && echo "no" | avdmanager create avd -n test -k "system-images;android-22;default;armeabi-v7a"
- run:
name: Launch emulator
command: export LD_LIBRARY_PATH=${ANDROID_HOME}/emulator/lib64:${ANDROID_HOME}/emulator/lib64/qt/lib && emulator64-arm -avd test -noaudio -no-boot-anim -no-window -accel auto -verbose
background: true
- run:
name: Wait emulator
command: |
# wait for it to have booted
circle-android wait-for-boot
# unlock the emulator screen
sleep 30
adb shell input keyevent 82
- run:
name: Run EspressoTests
command: ./gradlew connectedAndroidTest
- store_artifacts:
path: app/build/reports
destination: reports
- store_test_results:
path: app/build/test-results
gradle.properties
android.enableJetifier=true
android.useAndroidX=true
org.gradle.jvmargs=-Xmx1536m
Другая конфигурация
compileSdk version : 28
targetSdk version : 28
kotlin version : '1.3.31'
Проект имеет 2 варианта: «Фосс и игра» и 2 типа сборки: отладка и выпуск
Я испробовал все возможные решения, но ни один из них не работает.Любая помощь будет оценена.Спасибо