Mobly移动设备测试框架
Mobly 是一个 Python 开发的测试框架,支持要求多设备、复杂环境以及自定义硬件设置的测试案例。
使用场景示例:
- 两个设备间的 P2P 数据传输
- 三个电话之间的会议呼叫
- 可穿戴设备和电话的交互
- 物联网设备的交互测试
- RF 功能测试
- 通过对电话、基站和 eNBs 的控制进行 LTE 网络测试
Mobly 可以支持多种类型的设备和装备,而且可以很方便的支持你自己的设备。Mobly 包含对常规设备的控制库,如 Android 设备。
不过 Mobly 虽然挂在 Google 账号下,却不是 Google 的官方产品。
兼容性
Mobly 兼容 python 3.4+ 和 python 2.7. 不过 Python 2.7 的支持将在 2019 年底废弃。
平台支持:
- Ubuntu 14.04+
- MacOS 10.6+
- Windows 7+
系统依赖
- adb (1.0.36+ recommended)
- python2.7 or python3.4+
- python-setuptools
如果你使用 Python3, 请相应使用 pip3
和 python3
(or python3.x)
示例测试代码:
安装
可以使用 pip 安装
pip install mobly
或者下载源码进行编译:
git clone https://github.com/google/mobly.git cd mobly python setup.py install
上述命令可能需要 sudo 环境来获取相应权限。
示例测试代码:
from mobly import base_test
from mobly import test_runner
from mobly.controllers import android_device
class HelloWorldTest(base_test.BaseTestClass):
def setup_class(self):
# Registering android_device controller module declares the test's
# dependency on Android device hardware. By default, we expect at
# least one object is created from this.
self.ads = self.register_controller(android_device)
self.dut = self.ads[0]
# Start Mobly Bundled Snippets (MBS).
self.dut.load_snippet('mbs', 'com.google.android.mobly.snippet.bundled')
def test_hello(self):
self.dut.mbs.makeToast('Hello World!')
if __name__ == '__main__':
test_runner.main()
运行测试的方法:
$ python hello_world_test.py -c sample_config.yml
评论