Я делаю детокс андроид e2e на circleci (2.0) и сталкиваюсь с двумя проблемами -
- circle ci (2) по-прежнему не поддерживает эмуляторы баз x86, поэтому я использую ems на базе ARM
- Это действительно медленный, детокс попадает в тайм-аут, прежде чем даже эмулятор запускается / приложение устанавливается, поэтому в тестовую лабораторию Firebase входит
Есть ли способ запустить эмуляторы Android x86 на circleci 2? а также
Поддерживает ли Detox проведение тестов в лаборатории тестирования firebase? Есть ли документация вокруг него?
Для справки, вот мой файл yaml для circleci
reference:
android_config: &android_config
docker:
- image: circleci/android:api-28-node8-alpha
download_android_dependencies: &download_android_dependencies
run:
name: Download Android Dependencies
command: |
ls
cd android
./gradlew androidDependencies
cd ../
jobs:
test-android:
<<: *android_config
steps:
- checkout
- run: npm install
- *download_android_dependencies
- run: sdkmanager "system-images;android-25;google_apis;armeabi-v7a"
- run: sdkmanager --licenses
- run: echo "no" | avdmanager create avd -n testEmulator -k "system-images;android-25;google_apis;armeabi-v7a"
- run:
name: Run emulator in background
command: |
sudo apt-get install libpulse0
export ANDROID_SDK_ROOT=${ANDROID_HOME}
export LD_LIBRARY_PATH=${ANDROID_HOME}:${ANDROID_HOME}/emulator/lib64:${ANDROID_HOME}/emulator/lib64/qt/lib emulator64-arm -avd testEmulator -noaudio -no-boot-anim -no-window -accel on -verbose -gpu swiftshader
background: true
- run: sudo npm install -g detox-cli
- run:
name: start pkg server
command: npm start
background: true
- run: detox build -c android.emu.debug
- run: detox test -c android.emu.debug -l trace
workflows:
version: 2
build:
jobs:
- test-android