Выполнение тестов android e2e на circleci 2.0 с использованием детоксикации для реакции на натив - PullRequest
0 голосов
/ 17 января 2019

Я делаю детокс андроид e2e на circleci (2.0) и сталкиваюсь с двумя проблемами -

  1. circle ci (2) по-прежнему не поддерживает эмуляторы баз x86, поэтому я использую ems на базе ARM
  2. Это действительно медленный, детокс попадает в тайм-аут, прежде чем даже эмулятор запускается / приложение устанавливается, поэтому в тестовую лабораторию 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
...