GithubHelp home page GithubHelp logo

budtmo / docker-android Goto Github PK

View Code? Open in Web Editor NEW
8.1K 164.0 1.1K 236.92 MB

Android in docker solution with noVNC supported and video recording

License: Other

Python 91.66% Shell 8.34%
docker-android android android-emulator novnc mobile-web mobile-app selenium-grid emulator docker genymotion

docker-android's Introduction

docker-android's People

Contributors

analogue avatar andrcuns avatar arne-b avatar bonigarcia avatar budtmo avatar dependabot[bot] avatar devilankur18 avatar fehlx avatar fossabot avatar greenerchen avatar ilya-netomedia avatar ireneu avatar joelwhitney avatar joesss avatar kjlubick avatar lerryalexander avatar lilinor avatar mehrdad-abdoli avatar nonvoid avatar rbaron avatar red-avtovo avatar robin-miro avatar stazdx avatar syntx avatar tadashi0713 avatar thelittlefireman avatar trinhpham avatar vvbogdanov87 avatar yintro4ha avatar yogeshpatel81 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

docker-android's Issues

unicodekeyboard is not working for fa_IR

hi @butomo1989
i have set unicodekeyboard=true in capabilities and installed UnicodeIME-debug (enable and set default) by:
adb install /media/UnicodeIME-debug.apk
adb shell ime enable io.appium.android.ime/.UnicodeIME
adb shell ime set io.appium.android.ime/.UnicodeIME

but when test my app it do not input unicode text at all with no error in appium.
do you have any idea?

Getting to noVNC from a remote machine

Hi,

I cannot figure out how to get to the noVNC page of a device from a remote machine.
For example the real IP of the host is 123.45.67.89.
So Selenium Hub is located in 123.45.67.89:4444
There are 3 nodes in Selenium Hub

  • host: 172.12.0.6
  • host: 172.12.0.7
  • host: 172.12.0.8
    noVNC is running on port 6080 of each host.

How can I get to noVNC stream from a remote machine?

Thanks in advance!

Startup issues on macOS Sierra

Hello,
I'm really amazed by idea of dockerizing Android emulators along with Appium. I managed to run the docker-compose.yml according to README. Unfortunately during the next attempts of starting emulators I'm getting unhealthy status for emulator containers but still selenium instances are visible in grid:

45cbde2532cd butomo1989/docker-android-arm-7.1.1 "/bin/sh -c '/usr/..." About an hour ago Up About an hour (unhealthy) 4723/tcp, 5554-5555/tcp, 0.0.0.0:32769->6080/tcp dockerandroid_samsung_galaxy_web_7.1.1_1
8bc4270ee96c butomo1989/docker-android-arm-5.1.1 "/bin/sh -c '/usr/..." About an hour ago Up About an hour (unhealthy) 4723/tcp, 5554-5555/tcp, 0.0.0.0:32768->6080/tcp dockerandroid_samsung_galaxy_web_5.1.1_1
159fa0d15aff butomo1989/docker-android-arm-7.1.1 "/bin/sh -c '/usr/..." About an hour ago Up About an hour (unhealthy) 4723/tcp, 5554-5555/tcp, 0.0.0.0:32770->6080/tcp dockerandroid_nexus_7.1.1_1
05480ed33c9d selenium/hub:3.4.0 "/opt/bin/entry_po..." About an hour ago Up About an hour 0.0.0.0:4444->4444/tcp dockerandroid_selenium_hub_1

When I open VNC via browser, I'm able to see emulator with loading Android but it never finish. The same situation repeats with Linux x86 image (tested on Ubuntu 16.04). Do you have any idea? I've removed all images and containers and reinstalled once again but nothing helps. I'm able to start single emulator from time to time but mostly it stays in unhealthy status.

Set webcam as camera (webcam0)

It would be nice to connect a webcam (or fake stream) to the android device.

I thing it could be done by adding

hardware.camera.back=webcam0
hardware.camera.front=none

to the /emulator/config.ini

It seems that docker under linux will provide /webcam/video0, and I was able to make an image with fswebcam. Now also the emulator flag looks good.

root@3d6542be84eb:~# emulator -webcam-list
List of web cameras connected to the computer:
 Camera 'webcam0' is connected to device '/dev/video0' on channel 0 using pixel format 'YUYV'

So when I edit the config.ini it was overwritten. My python skills are not so good, but I assume app.py is overwriting the config.ini.

    with open(config_path, 'a') as file:
        file.write('skin.path={sp}'.format(sp=skin_path))
    logger.info('Skin was added in config.ini')

Also I was wondering, howto keep your old emulator instead of starting a new one, when docker is rebooting..

emulator can not go healthy

when I docker-compose the emulators the status stayed in unhealthy and here is the log:

[46] [ INFO] app - Device: Nexus 5
[46] [ INFO] app - AVD name: nexus_5_7.1.1
[46] [ INFO] app - Preparing emulator...
[46] [ INFO] app - Command to create avd: avdmanager create avd -f -n nexus_5_7.1.1 -b google_apis/x86_64 -c /root/src/sdcard.img -k "system-images;android-25;google_apis;x86_64" -d Nexus\ 5 -p /root/android_emulator
[46] [ INFO] app - Skin was added in config.ini
[46] [ INFO] app - Run emulator...
[46] [ INFO] app - Run appium server...
[46] [ INFO] app - Connect to selenium grid? True
[46] [ INFO] app - Appium node config: {'configuration': {'register': True, 'unregisterIfStillDownAfter': 120000, 'registerCycle': 5000, 'maxSession': 6, 'host': '172.18.0.12', 'proxy': 'org.openqa.grid.selenium.proxy.DefaultRemoteProxy', 'cleanUpCycle': 2000, 'hubPort': 4444, 'url': 'http://172.18.0.12:4723/wd/hub', 'hubHost': 'selenium_hub', 'timeout': 30000, 'port': 4723}, 'capabilities': [{'deviceName': 'nexus_5_7.1.1', 'browserName': 'chrome', 'version': '7.1.1', 'platform': 'Android', 'platformName': 'Android', 'maxInstances': 1}]}
emulator: ERROR: detected a hanging thread 'Qt event loop'. No response for 15000 ms

Using Selenium hub I can see my devices but they aren't ON

I am using docker-compose to bring up 3 different devices
butomo1989/docker-android-x86-7.0
butomo1989/docker-android-x86-7.1.1
butomo1989/docker-android-x86-5.1.1

when I connect to the different noVNC windows I see my appium server (I want to automate some appium tests) and I see my device but clearly the device isn't on, if I press the ON button in the control panel this makes no difference. When I try to launch my tests and start my own APK clearly this doesn't work. When I look at the docker log I see:
docker exec -it laura_nexus_7.0_1 tail -f /var/log/supervisor/docker-android.stdout.log
Journal blocks: 1024
Label:
Blocks: 16896
Block groups: 1
Reserved block group size: 7
Created filesystem with 11/4224 inodes and 1302/16896 blocks
emulator: warning: opening audio output failed

emulator: Listening for console connections on port: 5554
emulator: Serial number of this emulator (for ADB): emulator-5554

Any help would be greatly appreciated.
Host: docker info gives:
Containers: 4
Running: 4
Paused: 0
Stopped: 0
Images: 4
Server Version: 1.12.2
Storage Driver: aufs
Root Dir: /var/lib/docker/aufs
Backing Filesystem: extfs
Dirs: 60
Dirperm1 Supported: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: overlay null bridge host
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Security Options: seccomp
Kernel Version: 4.10.8-docker-1
Operating System: Ubuntu 16.04.3 LTS
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 3.857 GiB
Name: iw-qa-appium
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Labels:
provider=scaleway
Insecure Registries:
127.0.0.0/8

most of the containers are unusable on Mac 10.12.5

Mac 10.12.5 + docker Version: 17.06.0-ce

Below containers are unusable as status is always unhealthy and vnc shows emulator in starting phase always even after 5 minues

  • 5.1.1
  • 6.0
  • 7.0
  • 7.1

Used below command as per README

docker run --privileged -d -p 6080:6080 -p 5554:5554 -p 5555:5555 -e DEVICE="Samsung Galaxy S6" --name android-container_6 butomo1989/docker-android-arm-7.1.1

changed last value of OS to above list of failed OS.

Am I doing something wrong here ?

container is not showing emulator and status is unhealthy

As per https://github.com/butomo1989/docker-android/blob/master/docker-compose.yml

  • created 3 android emulator containers and 1 selenium hub container.
  • 2 of the android emulator containers are not showing emulator but can only see appium server output on console
  • status of these 2 are unhealthy

Please clarify what may be going wrong here

CONTAINER ID        IMAGE                                 COMMAND                  CREATED             STATUS                      PORTS                                              NAMES
3a7d50b27458        butomo1989/docker-android-arm-7.1.1   "/bin/sh -c '/usr/..."   15 minutes ago      Up 15 minutes (unhealthy)   4723/tcp, 5554-5555/tcp, 0.0.0.0:32769->6080/tcp   downloads_samsung_galaxy_web_7.1.1_1
b498a40bb3d5        butomo1989/docker-android-arm-5.1.1   "/bin/sh -c '/usr/..."   15 minutes ago      Up 15 minutes (healthy)     4723/tcp, 5554-5555/tcp, 0.0.0.0:32768->6080/tcp   downloads_samsung_galaxy_web_5.1.1_1
4d89839d145b        butomo1989/docker-android-arm-7.1.1   "/bin/sh -c '/usr/..."   15 minutes ago      Up 15 minutes (unhealthy)   4723/tcp, 5554-5555/tcp, 0.0.0.0:32770->6080/tcp   downloads_nexus_7.1.1_1
b5ca8583a2cf        selenium/hub:3.4.0                    "/opt/bin/entry_po..."   15 minutes ago      Up 15 minutes               0.0.0.0:4444->4444/tcp                             downloads_selenium_hub_1

Cannot watch device via noVNC

Hi,

I ran the docker compose and everything looks to be running.
But I cannot connect to noVNC to view the device.
I used the default configurations that you provided in the docker-compose.yaml
Any parameter I need to add to enable it?

Thanks.

Emulator on the images get stuck and need to be killed

Hi,

I have tried almost all linux and Windows images but unfortunally emulator get stuck while container is running an then I should kill its process. No matter how much resource is dedicated to Docker.

OS: Windows 10

emulator first time boot is about 20 minutes

Hi
the performance of docker especially the first time docker started is very slow and it takes about 20 minutes to start emulator
.
i have tested android 5.1 , 6 and 7.1.
my host is ubuntu 16 on digitalocean with 4cpu and 8G memory.

this is host VXT:
kvm-ok
INFO: /dev/kvm exists
KVM acceleration can be used

docker ps show docker unhealthly about 20 minutes

appium random error Could not find app apk

hi
On android 5.0 , 5.1 and 6 appium tests has random behavior and throw such a error randomly:
WebDriverException: Message: An unknown server-side error occurred while processing the command. Original error: Could not find app apk at /root/tmp/myapp.apk
I have checked and Volume mounteded correctly it works some times as 60%
what is its reason?
where can I see appium logs in containers? there is no appium log in /var/log/supervisor/

Emulator doesn't manage to boot in time in case of CI scenarios

In case if this container is used in some sort of CI setup for automated test execution, tests start executing before the android in emulator is actually booted up.
It is possible to delay test execution within test set up it self but would not be so convenient if deploying multiple containers with selenium grid via docker-compose for example.
Would You consider adding a check for avd boot_complete during container start?

ChromeDriver not working

Hi,
Great project, just what I was looking for to support our mobile testing with emulator.
One issue is that libgconf-2.so.4 is missing for chromedriver to work. Please consider adding libgconf-2-4 to installed packages for it to work.

video file naming

Hi
thanks for your great job and new video recording feautures .
How can i made build and test name so can change the test video file to be appended to test results.
I am using robot framework and python.
I use zalenium for web

Android crash after running some app

As you click app icon, the flash screen is loaded, and then android crash and back to boot screen. no log printed.

Step 1, click app icon:
image 1

Step 2, flash screen is loaded:
image 2

Step 3, android creash and back to boot screen, no log printed.
image 3

Failure connecting to appium

Hi,
I am new to docker and I am trying to run the example test from https://github.com/testvagrant/AppiumDemo using docker-android.

On ubuntu 16.04LTS I run the command from tutorial to start docker with appium passing the apk.

docker run --privileged -d -p 6080:6080 -p 4723:4723 -p 5554:5554 -p 5555:5555 -v /home/vikky/flipkart.apk:/root/tmp -e DEVICE="Nexus 5" -e APPIUM=True -e CONNECT_TO_GRID=True -e APPIUM_HOST="127.0.0.1" -e APPIUM_PORT=4723 -e SELENIUM_HOST="172.17.0.1" -e SELENIUM_PORT=4444 --name android-container butomo1989/docker-android-x86-7.1.1

In the browser on localhost:6080 I can see the virtual phone and appium server. With some error, but I figured those might be caused by the phone booting.

image

I use docker exec -it android-container tail -f /var/log/supervisor/docker-android.stdout.log

_[29] [ INFO] app - Run appium server...
[29] [ INFO] app - Connect to selenium grid? True
[29] [ INFO] app - Appium node config: {'configuration': {'port': 4723, 'url': 'http://127.0.0.1:4723/wd/hub', 'unregisterIfStillDownAfter': 120000, 'register': True, 'hubPort': 4444, 'proxy': 'org.openqa.grid.selenium.proxy.DefaultRemoteProxy', 'hubHost': '172.17.0.1', 'maxSession': 6, 'timeout': 30000, 'registerCycle': 5000, 'cleanUpCycle': 2000, 'host': '127.0.0.1'}, 'capabilities': [{'browserName': 'android', 'platformName': 'Android', 'version': '7.1.1', 'platform': 'Android', 'deviceName': 'nexus_5_7.1.1', 'maxInstances': 1}]}
Your emulator is out of date, please update by launching Android Studio:

  • Start Android Studio
  • Select menu "Tools > Android > SDK Manager"
  • Click "SDK Tools" tab
  • Check "Android Emulator" checkbox
  • Click "OK"_

OK, emulator is out of date, but it could still work. So I updated the connection class in https://github.com/testvagrant/AppiumDemo to have same capabilities:

DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability("browserName", "android"); capabilities.setCapability("platformName", "Android"); capabilities.setCapability("version", "7.1.1"); capabilities.setCapability("platform", "Android"); capabilities.setCapability("deviceName", "nexus_5_7.1.1"); capabilities.setCapability("maxInstances", "1"); capabilities.setCapability("app", "/Users/nishant/Development/AppiumDemo/apps/flipkart.apk"); capabilities.setCapability("appPackage", "com.flipkart.android"); capabilities.setCapability("appActivity", "com.flipkart.android.SplashActivity"); driver = new AndroidDriver(new URL("hhttp://172.17.0.1:4444/wd/hub"), capabilities);
Which gives me rather uninformative error:

org.openqa.selenium.SessionNotCreatedException: Unable to create new remote session. desired capabilities = Capabilities [{app=/Users/nishant/Development/AppiumDemo/apps/flipkart.apk, appPackage=com.flipkart.android, appActivity=com.flipkart.android.SplashActivity, appium-version=1.0, platformVersion=5.0, platformName=Android, deviceName=Nexus}], required capabilities = Capabilities [{}]

Could you please help me locate the issue?

Request to share the Dockerfile for the images

Request Dockerfile for the images. I did not see any Dockerfile in your github repo.
Just curious why on the run with privileged part.
Also What are ports that are exposed. Is 6080 port a VNC port?
Thanks.

Can't run emulator

Emulator can't start with log

[2698] [ INFO] app - Android version: 5.0.1 
API level: 21 
Processor: x86 
System image: x86_64 
Image type: android
[2698] [ INFO] app - Device: Samsung Galaxy S6
[2698] [ INFO] app - AVD name: samsung_galaxy_s6_5.0.1
[2698] [ INFO] app - Preparing emulator...
[2698] [ INFO] app - Skin ressource path: /root/devices/skins
[2698] [ INFO] app - Skin destination path: /root/platforms/android-21/skins
[2698] [ INFO] app - Device name in bash: Samsung\ Galaxy\ S6, Skin name: samsung_galaxy_s6
[2698] [ INFO] app - Hardware profile resource path: /root/devices/profiles/samsung_galaxy_s6.xml
[2698] [ INFO] app - Hardware profile destination path: /root/.android/devices.xml
[2698] [ INFO] app - AVD creation command: echo no | android create avd -f -n samsung_galaxy_s6_5.0.1 -t android-21 -b x86_64 -d Samsung\ Galaxy\ S6 -s samsung_galaxy_s6
Created AVD 'samsung_galaxy_s6_5.0.1' based on Android 5.0.1, Intel Atom (x86_64) processor,
with the following hardware config:
hw.accelerometer=yes
hw.audioInput=yes
hw.battery=yes
hw.camera=yes
hw.dPad=no
hw.device.hash2=MD5:b39211a1b016d383660f0a2c143d2984
hw.device.manufacturer=User
hw.device.name=Samsung Galaxy S6
hw.gps=yes
hw.gsmModem=yes
hw.keyboard=yes
hw.keyboard.lid=yes
hw.lcd.density=240
hw.mainKeys=yes
hw.sdCard=no
hw.sensors.orientation=yes
hw.sensors.proximity=yes
hw.touchScreen=yes
hw.trackBall=no
[2698] [ INFO] app - Run emulator...
root@7fdbfe3c7615:~# emulator: WARNING: Classic qemu does not support SMP. The hw.cpu.ncore option from your config file is ignored.
Failed to open lib64EGL_translator: [lib64EGL_translator.so: cannot open shared object file: No such file or directory]
gles2_dispatch_init: Could not load lib64GLES_V2_translator [lib64GLES_V2_translator.so: cannot open shared object file: No such file or directory]
QPixmap::scaled: Pixmap is a null pixmap
QPixmap::scaled: Pixmap is a null pixmap
QPixmap::scaled: Pixmap is a null pixmap
QPixmap::scaled: Pixmap is a null pixmap
QPixmap::scaled: Pixmap is a null pixmap
QPixmap::scaled: Pixmap is a null pixmap
QPixmap::scaled: Pixmap is a null pixmap
QPixmap::scaled: Pixmap is a null pixmap
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
emulator: Warning: skin file button uses unknown key name 'T'
emulator: Warning: skin file button uses unknown key name 'NEXT'
Creating filesystem with parameters:
    Size: 69206016
    Block size: 4096
    Blocks per group: 32768
    Inodes per group: 4224
    Inode size: 256
    Journal blocks: 1024
    Label: 
    Blocks: 16896
    Block groups: 1
    Reserved block group size: 7
Created filesystem with 11/4224 inodes and 1302/16896 blocks
ioctl(KVM_CREATE_VM) failed: 16 Device or resource busy
failed to initialize KVM

I had tried it with 5.0.1, 5.1.1 x86

docker-android under VM has slow performance

Hey Budi,

I don't know if it's because of the noVnc interface or something like that, but the devices on the server got too slow, slow for any kind of task, have you handle this situation too?
I'm mounting the devices on a clean ubuntu server through docker-compose up -d and a simple yml file based on the example you gave. Machine resources were not the problem, I put some more memory and cpu but still without success.

  1. The initialization of the device isn't the problem, it's getting ready in 4-6 minutes, or less. The delay is on the interaction with the device, I send commands from a remote app with the selenium instructions or I move the screen with the mouse on the interactive window of noVnc and the device take about 1-2 seconds to respond.

  2. It's a VMware station with a lot of virtualized servers, this ubuntu I'm using is one of the many there and have only docker and docker-compose installed.

  3. Intel(R) Xeon(R) CPU E5-2640 0 @ 2.50GHz, 8 cores, 8G Memory and a little bit of hard disk.

  4. I used the butomo1989/docker-android-x86-6.0 with the Nexus 5 and Samsung Galaxy S6.
    deviceimage

  5. I already started a Grid individually and then used a command like this that you gave as example:
    docker run --privileged -d -p 6080:6080 -p 4723:4723 -p 5554:5554 -p 5555:5555 -e DEVICE="Samsung Galaxy S6" -e APPIUM=True -e CONNECT_TO_GRID=True -e SELENIUM_HOST="172.17.0.X" -e SELENIUM_PORT=4444 -e MOBILE_WEB_TEST=True --name android-container butomo1989/docker-android-x86-6.0

But it was not the solution. :(

  1. I didn't change the scale of the yml file, but I'm thinking the problem isn't the resources, because, looking in the active containers, it didn't scaled up to another container and still have a lot of resources available.

I made the device more soft and fast downloading inside the device container the Intel x86 Atom System Image and adjusting the config.ini file in the .android directory of the device to point to this new image. Than I could play with the device more fluidly and faster, but still couldn't get the speed of the local emulations.

Device new image:
newdeviceimage

Inicial docker-compose.yml (image because Markdown was messing the commands):
docker-compose

How would you tune up the performance of the emulation?

Best regards,

Alan Bueno

Wrong resolution and dpi for Samsung emulator

Steps:

Use butomo1989/docker-android-x86-7.0 image
Start container: docker run --privileged -d -p 6096:6080 -e DEVICE="Samsung Galaxy S6" --name android-container2 butomo1989/docker-android-x86-7.0
Go to VNC, open terminal inside container and check screen info using command: adb shell dumpsys display | grep mBaseDisplayInfo

Output: 474 x 839 and density 240

Expected: If use Nexus 5 device emulator, output would be: 1080x1920 and density 480 which is looks correct.

Speed up docker image for Mac and Windows OS

I tried the docker image on Mac.
Emulator needs more than 15 minutes to start.

Is there any way to speed up emulator loading?

BTW locally without docker emulator starts very fast

Thanks in advance

Show clock in the video

Hi.

Is there an easy way to show current time in the recorded video? The emulator shows the hour and minute clock, but I want to see the seconds.

After Reset / Reboot emulator didn't come up

As per README connected to one of the android emulator container from web browser.

Later tried options Reset, Reboot but even after few minutes didn't see emulator

It will be nice if buttons can be disabled or show some message to user what's happening with emulator at present

Please review

Support real device

Able to recognise real device from docker-container and mirror device screen to noVNC. this feature will be combine with #6

Option not to use docker health check

CONTAINER ID        IMAGE                                 COMMAND                  CREATED             STATUS                   PORTS                                                                NAMES
1a8f82552161        butomo1989/docker-android-arm-5.0.1   "/bin/sh -c '/usr/..."   6 minutes ago       Up 6 minutes (healthy)   0.0.0.0:5554-5555->5554-5555/tcp, 4723/tcp, 0.0.0.0:6080->6080/tcp   android-container_1

adb connect 192.168.2.48:5555

adb devices
List of devices attached
192.168.2.48:5555	offline

I can see this particular emulator through VNC and interact with it as well.

XCUITest] Error: Unable to launch WebDriverAgent because of xcodebuild failure: xcodebuild failed with code 70” error when i try to launch .ipa file on mobile device

ipa file path is been set from capabilities - app getting installed on the device but not launching

Please help me how to run appium scripts on real device using 1.6.5 ?

configurations:
mac OS: sierra 10.12.6
Xcode: 7.3.3
appium : 1.6.5 (trying in desktop version )
device : 10.3
app : Native app

Please find the log here .

[JSONWP Proxy] Proxying [GET /status] to [GET http://localhost:8100/status] with no body
[JSONWP Proxy] Proxying [GET /status] to [GET http://localhost:8100/status] with no body
[JSONWP Proxy] Proxying [GET /status] to [GET http://localhost:8100/status] with no body
[XCUITest] xcodebuild exited with code ‘70’ and signal ‘null’
[BaseDriver] Event ‘wdaStartFailed’ logged at 1502705667317 (15:44:27 GMT+0530 (IST))
[XCUITest] Unable to launch WebDriverAgent because of xcodebuild failure: xcodebuild failed with code 70
[XCUITest] Quitting and uninstalling WebDriverAgent, then retrying
[XCUITest] Shutting down sub-processes
[XCUITest] Shutting down iproxy process (pid 3196)
[XCUITest] iproxy exited with code ‘null’
[XCUITest] Removing WDA application from device
[XCUITest] Error: Unable to launch WebDriverAgent because of xcodebuild failure: xcodebuild failed with code 70
at XCUITestDriver.quitAndUninstall$ (/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-xcuitest-driver/lib/driver.js:386:15)
at tryCatch (/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:67:40)
at GeneratorFunctionPrototype.invoke [as _invoke] (/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:315:22)
at GeneratorFunctionPrototype.prototype.(anonymous function) [as next] (/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:100:21)
at GeneratorFunctionPrototype.invoke (/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:136:37)
Error: Unable to launch WebDriverAgent because of xcodebuild failure: xcodebuild failed with code 70
at XCUITestDriver.quitAndUninstall$ (/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-xcuitest-driver/lib/driver.js:386:15)
at tryCatch (/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:67:40)
at GeneratorFunctionPrototype.invoke [as _invoke] (/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:315:22)
at GeneratorFunctionPrototype.prototype.(anonymous function) [as next] (/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:100:21)
at GeneratorFunctionPrototype.invoke (/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:136:37)
[XCUITest] Not clearing log files. Use clearSystemFiles capability to turn on.
[iOSLog] Stopping iOS log capture
[MJSONWP] Encountered internal error running command: Error: Unable to launch WebDriverAgent because of xcodebuild failure: xcodebuild failed with code 70
at XCUITestDriver.quitAndUninstall$ (/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-xcuitest-driver/lib/driver.js:386:15)
at tryCatch (/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:67:40)
at GeneratorFunctionPrototype.invoke [as _invoke] (/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:315:22)
at GeneratorFunctionPrototype.prototype.(anonymous function) [as next] (/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:100:21)
at GeneratorFunctionPrototype.invoke (/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:136:37)

errors when switching to webview context on higher than 6.0

When switching context to a embedded webview the installed chrome version is not sufficient for newer versions. Works with 5.1.1 but not with 6.x nor 7.x

Error: [context("WEBVIEW_com.eyesquare.sdktest")] 
  Error response status: 13, UnknownError - An unknown server-side error occurred while processing the command. 
  Selenium error: An unknown server-side error occurred while processing the command. 
  Original error: unknown error: 
    Chrome version must be >= 53.0.2785.0
  (Driver info: chromedriver=2.26.436382 (70eb799287ce4c2208441fc057053a5b07ceabac),platform=Linux 3.16.0-4-amd64 x86_64)

This is my code for reference. Starting the app and getting the web views works. Just setting the context wont.

const wd = require('wd');

const driver = wd.promiseChainRemote("dev.eye-square.com", 4723);

driver.init({
  'browserName' : '',
  // 'version' : '7.1.1',
  'platformName': 'Android',
  'deviceName' : 'Samsung Galaxy S6',
  'app' : '/root/tmp/test-app.apk',
})
.sessions(log)
.contexts(log)
.context("WEBVIEW_xxx")
.fin(() => driver.quit())
.done()


function log (err, handles) {
  console.log(err, handles);
}

Additional info: It may be due to the emulator being out of date as thats in the logs when hitting

docker exec -it android-container tail -f /var/log/supervisor/docker-android.stdout.log

emulator: Listening for console connections on port: 5554
emulator: Serial number of this emulator (for ADB): emulator-5554
Your emulator is out of date, please update by launching Android Studio:
 - Start Android Studio
 - Select menu "Tools > Android > SDK Manager"
 - Click "SDK Tools" tab
 - Check "Android SDK Tools" checkbox
 - Click "OK"

how mount sdcard

I need to mount sdcard and send some images for app and site tests.
How can it be done?
I shared volume to docker but can not use adb push as it return:
adb: error: failed to copy '/media/qa105.jpg' to '/storage/sdcard/qa105.jpg': remote Read-only file system

compose file - selenium grid and docker-android container as nodes related issue

below is the output after start up of compose file

CONTAINER ID        IMAGE                                 COMMAND                  CREATED             STATUS                         PORTS                                              NAMES
269f4689b2f2        butomo1989/docker-android-arm-7.1.1   "/bin/sh -c '/usr/..."   About an hour ago   Up About an hour (healthy)     4723/tcp, 5554-5555/tcp, 0.0.0.0:32770->6080/tcp   downloads_nexus_7.1.1_1
dd9dacf8600e        selenium/hub:3.4.0                    "/opt/bin/entry_po..."   About an hour ago   Up About an hour               0.0.0.0:4444->4444/tcp                             downloads_selenium_hub_1
282ba472d724        butomo1989/docker-android-arm-5.1.1   "/bin/sh -c '/usr/..."   About an hour ago   Up About an hour (unhealthy)   4723/tcp, 5554-5555/tcp, 0.0.0.0:32769->6080/tcp   downloads_samsung_galaxy_web_5.1.1_1
ab58889a898a        butomo1989/docker-android-arm-7.1.1   "/bin/sh -c '/usr/..."   About an hour ago   Up About an hour (unhealthy)   4723/tcp, 5554-5555/tcp, 0.0.0.0:32768->6080/tcp   downloads_samsung_galaxy_web_7.1.1_1

Issue 1

  • all the nodes are showing as unhealthy

Issue 2

  • post VNC could see only 1 emulator, other 2 VNC sessions show appium server console

Issue 3

  • adb connect hub_ip_address:5555
    unable to connect to hub_ip_address:5555: Connection refused

Please review

Would it be possible to send the Appium server output to a log file

When the Appium server is up and running and connected to the Selenium grid we see lots of output in the server window, would it be possible to save this output to a text log file in the container so that we can access it? This would greatly help with troubleshooting when running Appium tests.

win7 docker-appium (exit status 1; not expected)

win7:

$ docker-compose up
....
amsung_galaxy_web_7.1.1_1  | 2017-07-18 02:27:20,581 INFO exited: docker-appium (exit status 1; not expected)
amsung_galaxy_web_5.1.1_1  | 2017-07-18 02:27:25,056 INFO exited: docker-appium (exit status 1; not expected)

chrome borowser:
image

  • yesterday, used your dockerfile and docker-compose is ok.today use docker-compose I get back this error message

pls help me! thank you

6.0 arm image fails to start (Mac OS)

here's the log:

Sergey-MBP-2:fuse-box sergeyglukhov$ docker run --privileged -p 6080:6080 -p 5554:5554 -p 5555:5555 -e DEVICE="Nexus 4" --rm butomo1989/docker-android-arm-6.0
2017-06-07 09:25:20,335 CRIT Supervisor running as root (no user in config file)
2017-06-07 09:25:20,337 INFO supervisord started with pid 7
2017-06-07 09:25:21,343 INFO spawned: 'docker-appium' with pid 10
2017-06-07 09:25:21,345 INFO spawned: 'novnc' with pid 11
2017-06-07 09:25:21,347 INFO spawned: 'openbox' with pid 12
2017-06-07 09:25:21,349 INFO spawned: 'xvfb' with pid 13
2017-06-07 09:25:21,352 INFO spawned: 'x11vnc' with pid 15
2017-06-07 09:25:21,354 INFO spawned: 'port-forward' with pid 17
2017-06-07 09:25:21,959 INFO exited: docker-appium (exit status 1; not expected)
2017-06-07 09:25:22,396 INFO success: novnc entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2017-06-07 09:25:22,396 INFO success: openbox entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2017-06-07 09:25:22,396 INFO success: xvfb entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2017-06-07 09:25:22,396 INFO success: x11vnc entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2017-06-07 09:25:22,396 INFO success: port-forward entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2017-06-07 09:25:23,404 INFO spawned: 'docker-appium' with pid 117
2017-06-07 09:25:23,461 INFO exited: docker-appium (exit status 1; not expected)
2017-06-07 09:25:25,468 INFO spawned: 'docker-appium' with pid 119
2017-06-07 09:25:25,524 INFO exited: docker-appium (exit status 1; not expected)
2017-06-07 09:25:28,534 INFO spawned: 'docker-appium' with pid 120
2017-06-07 09:25:28,592 INFO exited: docker-appium (exit status 1; not expected)
2017-06-07 09:25:29,595 INFO gave up: docker-appium entered FATAL state, too many start retries too quickly

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.