Single Appium server to handle tests to multiple Android instances in parallel
See original GitHub issueI have many Android containers running in the cloud which I want to control remotely, in parallel, through Appium. However it’s not obvious how I can use a single Appium server (which can easily be scaled later on) to route commands through to an individual Android instance.
Right now I have a Docker image with ADB and Appium installed which basically (1) connects to the ADB daemon on the Android container and (2) launch the Appium server
#!/bin/sh
adb connect "$1"
appium
Then I launch one of these Docker containers per each Android instance that I want to control. But this is not very easy to scale and there is still a lot of work in managing used ports (when port forwarding Appium’s 4723 port to a unique port for each Android instance).
What is the canonical way to do this in the Appium ecosystem?
Issue Analytics
- State:
- Created 3 years ago
- Comments:7 (1 by maintainers)
Top GitHub Comments
Any reason to not use Selenium Grid for this? You can then automate the capabilities generation and manage the ports through it.
It will anyway be necessary to manage ports/devices acquisition. A testing session will be just using the particular device udid, that is passed to it. It does not care whether this device is already used by other instances.