Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/fujiawei-dev/cerium
This project is mainly targeted to users that need to communicate with Android devices in an automated fashion, such as in automated testing.
https://github.com/fujiawei-dev/cerium
adb android automation
Last synced: 11 days ago
JSON representation
This project is mainly targeted to users that need to communicate with Android devices in an automated fashion, such as in automated testing.
- Host: GitHub
- URL: https://github.com/fujiawei-dev/cerium
- Owner: fujiawei-dev
- License: apache-2.0
- Created: 2018-04-18T10:30:35.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2020-04-28T10:17:50.000Z (over 4 years ago)
- Last Synced: 2024-10-03T22:14:31.960Z (about 2 months ago)
- Topics: adb, android, automation
- Language: Python
- Size: 8.3 MB
- Stars: 6
- Watchers: 0
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Cerium
[![Platform](https://img.shields.io/badge/Platform-Windows-4BC51D.svg)](https://pypi.org/project/cerium/)
[![PyPI version](https://img.shields.io/pypi/v/cerium.svg)](https://pypi.org/project/cerium/)
[![Wheel](https://img.shields.io/pypi/wheel/cerium.svg)](https://pypi.org/project/cerium/)
[![Python version](https://img.shields.io/pypi/pyversions/cerium.svg)](https://pypi.org/project/cerium/)
[![License](https://img.shields.io/badge/license-Apache_2-blue.svg)](https://www.apache.org/licenses/LICENSE-2.0)
[![Documentation status](https://readthedocs.org/projects/cerium/badge/?version=latest)](http://cerium.readthedocs.io/en/latest/?badge=latest)> Cerium is an umbrella project encapsulating a variety of tools and
libraries enabling android automation.Cerium's source code is made available under the [Apache 2.0 license](https://github.com/ffujiawei/cerium/LICENSE).
Welcome to **Read the Docs** for [Cerium](http://cerium.readthedocs.io/)!
## Introduction
**Cerium: A Toy for Android Automation**
**Cerium** is an Android automation framework for Python, safe for human consumption.
**Behold, the power of Cerium**:
```python
>>> from cerium import AndroidDriver
>>> driver = AndroidDriver()
>>> driver.unlock(1997) # unlock your device by password
>>> driver.auto_connect() # connect to your device via TCP/IP automatically
Now you can unplug the USB cable, and control your device via WLAN.
>>> driver.view_packgets_list(keyword='tencent')
['com.tencent.mm', 'com.tencent.android.qqdownloader', 'com.tencent.tim']
>>> driver.make_a_call(18268237856) # call me
```**Cerium** allows you to send *organic, grass-fed* commands, without the the need for manual labor.
[Android Debug Bridge (adb)](http://web.mit.edu/ruggles/MacData/afs/sipb/project/android/OldFiles/docs/tools/help/adb.html) is a versatile command line tool that lets you communicate with an emulator instance or connected Android-powered device. This project is based on it.
## Supported Python Versions
* Python 3.6+## Supported Platforms
* Windows 10 (Other platforms have not been tested and are not intended to be supported for the time being officially)## Installation
If you have [pip](https://pip.pypa.io/) on your system, you can simply install or upgrade cerium:pip install -U cerium
Alternately, you can download the source distribution from [PyPI](https://badge.fury.io/py/cerium), unarchive it, and run:
python setup.py install
Or by [github.com](https://github.com/ffujiawei/cerium):
git clone [email protected]:ffujiawei/cerium.git
cd cerium
python setup.py install> Note: You may want to consider using [virtualenv](http://www.virtualenv.org/) to create isolated Python environments.
## [Android Debug Bridge](http://web.mit.edu/ruggles/MacData/afs/sipb/project/android/OldFiles/docs/tools/help/adb.html)
Cerium requires Android Debug Bridge Tool to with the chosen android device. And Cerium contains *Android Debug Bridge* by default. You don't need to set the environment variable by yourself.## Quickstart
* List connected android devices or simulator.
* Show the version of Android Debug Bridge.```python
from cerium import AndroidDriverdriver = AndroidDriver()
print(driver.devices())
print(driver.devices_l()) # show devices and modelsprint(driver.version())
```* Copy local files/directories to device.
* Copy files/directories from device.
* Taking a screenshot of a device display, then copy it to your computer.```python
from cerium import AndroidDriverdriver = AndroidDriver()
driver.push(local='README.md', remote='/sdcard/README.md')
driver.pull(remote='/sdcard/README.md', local='README.md')driver.pull_screencap(local='screencap.png')
```* Simulate finger click.
* Simulate finger slide.
* Input text.```python
from cerium import AndroidDriverdriver = AndroidDriver()
driver.click(100, 100)
driver.swipe(100, 200, 100, 100, duration=100)
driver.send_keys("I'm White Turing.")
```## Demonstration
* [**A wireless automation application**](https://github.com/ffujiawei/auto-answer-tnwz)
* [**A command line wireless control tool for Android**](https://github.com/ffujiawei/wireless-control)## Author
Cerium is written and maintained by [White Turing](https://github.com/ffujiawei) ([email protected]).