Android自动化测试

安卓客户端测试的一些主流技术。

官方支持

Espresso

UI测试支持,Android Support库的一部分。 需要App源码.

  • 优点:控件支持最丰富,定制型强。
  • 对应的: 需要安卓控件的良好设计MVP,对客户端代码的熟悉。安卓开发的最爱。

注: 最后发布于 @ 2018-12-13

参考

UIAutomator2

支持系统操作和跨应用界面操作,适合黑盒自动化. 适用于Android 4.3+ (不需要App源码).

基于Accessibility服务

可以对第三方App进行测试,获取屏幕上任意一个APP的任意一个控件属性,并对其进行任意操作

mobly

  • mobly:Python实现的负载E2E测试工具

App Crawler

自动测试应用(遍历模拟点击、滑动等行为),不需要额外的开发。支持配置登录等。
可以用来测试崩溃、显示问题、性能问题。

用法:

# 测试已安装应用
java -jar crawl_launcher.jar --app-package-name com.xulizhao.demo --android-sdk D:\opt\Android\sdk --timeout-sec 180  --ui-automator-mode
# 指定apk自动安装
java -jar crawl_launcher.jar --apk-file path/to/my/app.apk --android-sdk=D:\opt\Android\sdk

# 选项 --device-serial-code 可以指定设备

截屏测试

WindowManagerGlobal + imageMagick

框架

STF

# 启动
docker-compose up -d --build

# 停止
docker-compose down

手动测试辅助

应用双开

  • 华为-隐私空间
  • 小米-手机分身
  • 三星-安全文件夹
  • 应用支持:360分身大师

参考