Mobly - 移动设备测试框架


Apache
跨平台
Python

软件简介

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, 请相应使用pip3python3 (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