From 9346afc2da0c9a496503a991703632b29870816c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Camille=20Lou=C3=A9doc-Eyri=C3=A8s?= Date: Sat, 25 Jun 2022 21:40:42 +0200 Subject: [PATCH 1/3] edit default emulator binary --- docker/Emulator_x86 | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docker/Emulator_x86 b/docker/Emulator_x86 index 0b09796..67b3cc6 100644 --- a/docker/Emulator_x86 +++ b/docker/Emulator_x86 @@ -195,4 +195,6 @@ RUN chmod -R +x /root/src && chmod +x /root/supervisord.conf HEALTHCHECK --interval=2s --timeout=40s --retries=1 \ CMD timeout 40 adb wait-for-device shell 'while [[ -z $(getprop sys.boot_completed) ]]; do sleep 1; done' +RUN ln -s /root/emulator/emulator /usr/bin/ + CMD /usr/bin/supervisord --configuration supervisord.conf From 3ea820cd9903a48d1164a67495780ca9dd748158 Mon Sep 17 00:00:00 2001 From: budtmo Date: Fri, 19 Aug 2022 16:31:05 +0200 Subject: [PATCH 2/3] Using newest base image 1.22.3-p1 --- docker/Emulator_x86 | 2 +- docker/Genymotion | 2 +- docker/Real_device | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docker/Emulator_x86 b/docker/Emulator_x86 index 67b3cc6..0e86ae3 100644 --- a/docker/Emulator_x86 +++ b/docker/Emulator_x86 @@ -1,4 +1,4 @@ -FROM appium/appium:v1.22.3-p0 +FROM appium/appium:v1.22.3-p1 LABEL maintainer "Budi Utomo " diff --git a/docker/Genymotion b/docker/Genymotion index 81ceb56..4d3ac6a 100644 --- a/docker/Genymotion +++ b/docker/Genymotion @@ -1,4 +1,4 @@ -FROM appium/appium:v1.22.3-p0 +FROM appium/appium:v1.22.3-p1 LABEL maintainer "Budi Utomo " diff --git a/docker/Real_device b/docker/Real_device index 60a46f8..55afbc2 100644 --- a/docker/Real_device +++ b/docker/Real_device @@ -1,4 +1,4 @@ -FROM appium/appium:v1.22.3-p0 +FROM appium/appium:v1.22.3-p1 LABEL maintainer "Budi Utomo " From d436eb36c130d0c4b347c07a492e680de052a914 Mon Sep 17 00:00:00 2001 From: budtmo Date: Fri, 19 Aug 2022 20:33:19 +0200 Subject: [PATCH 3/3] Removed ATD and cleaned up the code because of ANDROID_HOME --- README_CUSTOM_CONFIG.md | 5 ----- docker/Emulator_x86 | 4 ++-- docker/Genymotion | 2 +- src/app.py | 8 ++++---- src/atd.sh | 6 ------ supervisord.conf | 7 ------- 6 files changed, 7 insertions(+), 25 deletions(-) delete mode 100755 src/atd.sh diff --git a/README_CUSTOM_CONFIG.md b/README_CUSTOM_CONFIG.md index 4a721f2..07cb0b1 100644 --- a/README_CUSTOM_CONFIG.md +++ b/README_CUSTOM_CONFIG.md @@ -63,11 +63,6 @@ If you want to add more arguments for running emulator, you can ***pass an envir docker run --privileged -d -p 6080:6080 -p 4723:4723 -p 5554:5554 -p 5555:5555 -e DEVICE="Samsung Galaxy S6" -e EMULATOR_ARGS="-no-snapshot-load -partition-size 512" --name android-container budtmo/docker-android-x86-8.1 ``` -Appium Test Distribution (ATD) ------------------------------- - -You can enable [ATD](https://github.com/AppiumTestDistribution/AppiumTestDistribution) by passing environment variable ATD=true and bind the port to the host, e.g. -p 4567:4567 - SaltStack --------- diff --git a/docker/Emulator_x86 b/docker/Emulator_x86 index 0e86ae3..2ebfd1d 100644 --- a/docker/Emulator_x86 +++ b/docker/Emulator_x86 @@ -183,7 +183,7 @@ EXPOSE 4723 6080 5554 5555 #====================== # Add Emulator Devices #====================== -COPY devices /root/devices +COPY devices ${ANDROID_HOME}/devices #=================== # Run docker-appium @@ -195,6 +195,6 @@ RUN chmod -R +x /root/src && chmod +x /root/supervisord.conf HEALTHCHECK --interval=2s --timeout=40s --retries=1 \ CMD timeout 40 adb wait-for-device shell 'while [[ -z $(getprop sys.boot_completed) ]]; do sleep 1; done' -RUN ln -s /root/emulator/emulator /usr/bin/ +RUN ln -s ${ANDROID_HOME}/emulator/emulator /usr/bin/ CMD /usr/bin/supervisord --configuration supervisord.conf diff --git a/docker/Genymotion b/docker/Genymotion index 4d3ac6a..f3c2591 100644 --- a/docker/Genymotion +++ b/docker/Genymotion @@ -168,5 +168,5 @@ EXPOSE 4723 6080 5555 COPY src /root/src COPY supervisord.conf /root/ RUN chmod -R +x /root/src && chmod +x /root/supervisord.conf /root/geny_start.sh -RUN gmsaas config set android-sdk-path /root +RUN gmsaas config set android-sdk-path ${ANDROID_HOME} CMD ["./geny_start.sh"] diff --git a/src/app.py b/src/app.py index b853e3f..2177882 100644 --- a/src/app.py +++ b/src/app.py @@ -98,12 +98,12 @@ def prepare_avd(device: str, avd_name: str, dp_size: str): profile_dst_path = os.path.join(ROOT, '.android', 'devices.xml') if 'samsung' in device.lower(): # profile file name = skin name - profile_src_path = os.path.join(ROOT, 'devices', 'profiles', '{profile}.xml'.format(profile=skin_name)) + profile_src_path = os.path.join(ANDROID_HOME, 'devices', 'profiles', '{profile}.xml'.format(profile=skin_name)) logger.info('Hardware profile resource path: {rsc}'.format(rsc=profile_src_path)) logger.info('Hardware profile destination path: {dst}'.format(dst=profile_dst_path)) symlink_force(profile_src_path, profile_dst_path) - avd_path = '/'.join([ANDROID_HOME, 'android_emulator']) + avd_path = '/'.join([ROOT, 'android_emulator']) creation_cmd = 'avdmanager create avd -f -n {name} -b {img_type}/{sys_img} -k "system-images;android-{api_lvl};' \ '{img_type};{sys_img}" -d {device} -p {path}'.format(name=avd_name, img_type=IMG_TYPE, sys_img=SYS_IMG, @@ -226,10 +226,10 @@ def run(): if is_first_run: logger.info('Emulator was not previously initialized. Preparing a new one...') - cmd = 'emulator/emulator @{name} -gpu swiftshader_indirect -accel on -wipe-data -writable-system -verbose {custom_args}'.format(name=avd_name, custom_args=custom_args) + cmd = 'emulator @{name} -gpu swiftshader_indirect -accel on -wipe-data -writable-system -verbose {custom_args}'.format(name=avd_name, custom_args=custom_args) else: logger.info('Using previously initialized AVD...') - cmd = 'emulator/emulator @{name} -gpu swiftshader_indirect -accel on -verbose -writable-system {custom_args}'.format(name=avd_name, custom_args=custom_args) + cmd = 'emulator @{name} -gpu swiftshader_indirect -accel on -verbose -writable-system {custom_args}'.format(name=avd_name, custom_args=custom_args) appium = convert_str_to_bool(str(os.getenv('APPIUM', False))) if appium: diff --git a/src/atd.sh b/src/atd.sh deleted file mode 100755 index 35111d7..0000000 --- a/src/atd.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash - -if [ "$ATD" = true ]; then - echo "Starting ATD..." - java -jar /root/RemoteAppiumManager.jar -DPort=4567 -fi diff --git a/supervisord.conf b/supervisord.conf index 63a6b10..e1a5c65 100644 --- a/supervisord.conf +++ b/supervisord.conf @@ -42,13 +42,6 @@ stdout_logfile=%(ENV_LOG_PATH)s/screen-copy.stdout.log stderr_logfile=%(ENV_LOG_PATH)s/screen-copy.stderr.log priority=3 -[program:atd] -command=./src/atd.sh -autorestart=false -stdout_logfile=%(ENV_LOG_PATH)s/atd.stdout.log -stderr_logfile=%(ENV_LOG_PATH)s/atd.stderr.log -priority=4 - [program:docker-appium] command=./src/appium.sh autorestart=false