feat(adb): add spawn and stream parameters to AdbProxy (#446) Add support for long-running and streaming ADB commands directly via parameter flags on AdbProxy dynamic method dispatches (e.g. adb.shell(..., spawn=True), adb.logcat(..., stream=True)). - Introduce AdbProcess wrapping subprocess.Popen with process lifecycle methods (poll, wait, stop, iter_lines) and context manager support. - Add _spawn_cmd to AdbProxy and update __getattr__ to support spawn=True and stream=True. - Validate that timeout cannot be passed when spawn=True, delegating timeout control cleanly to AdbProcess.wait(timeout=...). - Add comprehensive unit tests for AdbProcess and AdbProxy spawn/stream execution. Closes #446 ORIGINAL_AUTHOR=angli
Mobly is a Python-based test framework that specializes in supporting test cases that require multiple devices, complex environments, or custom hardware setups.
Here are some example use cases:
Mobly can support many different types of devices and equipment, and it's easy to plug your own device or custom equipment/service into Mobly.
Mobly comes with a set of libs to control common devices like Android devices.
While developed by Googlers, Mobly is not an official Google product.
Mobly requires python 3.11 or newer.
Mobly tests could run on the following platforms:
You can install the released package from pip
pip install mobly
or install from the source to use the bleeding edge:
git clone https://github.com/google/mobly.git cd mobly pip install -e .
You may need sudo for the above commands if your system has certain permission restrictions.
Mobly 101 - Simple test examples to get you started with Mobly.
Mobly Instrumentation Runner Tutorial - How to use Mobly's Android instrumentation test runner to run Android instrumentation tests.
Mobly AndroidDevice Service - Create custom service to attach to Mobly's AndroidDevice controller.
The Mobly Snippet projects let users better control Android devices.