GADS-device-provider is a server that sets up devices for Appium tests execution and remote control with GADS.
Supports both Android and iOS devices
Supports Linux, macOS and Windows - notes below
NB I've been doing this having only small number of devices available. It looks like everything is pretty much working but I do not know how it would behave on a bigger scale.
Features
Straighforward setup
Automatic provisioning when devices are connected
Dependencies automatically installed on devices
Appium server set up and started for each device
Optionally Selenium Grid 4 node can be registered for each device Appium server
Limited interaction wrapped around Appium - tap, swipe, touch&hold, type text, lock and unlock device
Appium test execution - each device has its Appium server proxied on a provider endpoint for easier access
Linux
Supports both Android and iOS < 17
Has some limitations to Appium execution with iOS devices due to actual Xcode tools being unavailable on Linux
macOS
Supports both Android and iOS
Windows 10
Supports Android and iOS < 17
Developed and tested on Ubuntu 18.04 LTS, macOS Ventura 13.5.1, Windows 10
Setup
Read the setup very carefully before starting, I've tried to give as much information as I can - in case something is wrong or missed raise an issue, contact me or contribute :P Provider setup
Many thanks for creating this tool to communicate with iOS devices on Linux, perfect for installing/reinstalling and running WebDriverAgentRunner without Xcode
Since the project revolves around Appium test execution and it is also used for the remote control with GADS, none of this would be actually possible without it, kudos!