Appetizer.io交流 QQ群:467889502, slack群组:https://ken234.typeform.com/to/QGf3G0

介绍

Appetizer 是一个面向移动开发程序员的 DevOps 平台,旨在提高软件开发人员进行产品交互、测试、维护的效率,以适应移动开发快速迭代的特点,加强开发人员的职能,简化移动平台App的开发流程,达到解放开发者,提高生产力的目的。

Appetizer 1.0.x 处于Beta阶段,广泛征集大家的意见以及bug report。

平台支持

Appetizer 客户端是一个基于 Electron 开发的跨平台的 Web App,可以运行在 Windows、Mac OS、Linux 三个平台。目前 Appetizer 1.0.1 版本暂时只支持 Android 设备的功能,2.3+,并且不需要ROOT。Appetizer 提供的功能可用广泛用于原生App(基于Android View)、Web App(WebView或者H5或者Cordova框架的)、Hybrid App、手机游戏(Unity3DCocos2D-x 框架)。在将来会扩充更多支持,同时支持 iOS 平台。

Appetizer 平台支持

获取 Appetizer

Appetizer 1.0.1 所有功能免费使用,只需要按照如下步骤:

  1. 下载 Appetizer 软件客户端到开发机
  2. 注册 Appetizer 账号,或使用 GitHub 账号授权登录
  3. 使用账号登录 Appetizer 客户端

下载 Appetizer 客户端

官方网站首页提供mac, Windows和Linux的Appetizer客户端。

下载 Appetizer

注册账号

Appetizer 注册页面

GitHub 授权登录

Appetizer 功能

第一次在开发机上打开 Appetizer 客户端,需要进行登录,方法同下载时在网站上的登录,可以使用之前注册的账号或者 GitHub 授权账号登录。

主界面

设置ADB路径

Appetizer 需要开发机上已经安装 Android SDK,同时 adb 需要在 PATH 环境变量中。启动Appetizer后,如果 Appetizer 可以获取 adb 的路径,则会直接进入主界面,否则会弹框要求指定 adb 路径。通常 Windows 上此路径在 C:\Users\<UserName>\AppData\Local\Android\sdk\,MacOS 上此路径在 /Users/<UserName>/Library/Android/sdk/platform-tools/,Linux 上在 Android-sdk/platform-tools/

请求指定adb路径

选择正确的 adb 路径后,Appetizer 会告知 adb 已经被检测到,并进入主界面,adb 路径只需要指定一次,在特殊情况下(例如Android SDK被移动位置等),可通过主界面的 Settings 来重新指定。

多设备控制

将至少一台Android设备通过 USB 连接到开发机,点击左侧导航 Device Control 进入多设备管理界面,点击右侧功能按钮 Refresh Devices 可以检测已经正确连接的设备(要求 adb debugging 功能已经打开)。当设备正确连接时,Appetizer 界面上就会显示所有设备及其参数和样例图片,否则请检测 USB 连接或者 ADB debugging 是否已经授权。在界面的右侧 Filter Tab 选项卡中,可以根据设备名称、屏幕分辨率、系统版本对系统上的 Android 设备进行筛选。

点击每个设备的 Select Device 按钮能够选中设备,Appetizer 的相关功能都会基于选中的设备运行。Filter Tab 下方是 Appetizer 提供的对多设备的一些基本的批量控制命令,例如可以对选中的设备进行批量执行,包括安装应用、删除应用、重启和运行Shell命令等。这些功能需要选定至少一台设备。

例如在下图中,选中五台设备,通过 Run Shell Command 执行 cat /system/build.prop | grep ro.product ,可以同时在五台设备上执行该命令,并查看五台设备的返回输出。

在多台设备上执行 Shell 命令

值得注意的是 Appetizer 处理提供基本的批量控制功能外,还提供了三项特色功能,如下。

镜像操作 Mirror Touches

镜像操作需要选择至少两台设备进行操作,其中一台为 master 设备,其余为 slave 设备。镜像操作会自动将 master 设备的触摸屏输入(坐标位置)实时传给所有的 slave 设备,从而达到使用一台设备控制多台设备的效果。镜像操作广泛支持短按(tap)、长按(long click)、拖动(swipe)以及复杂的手势轨迹。同时该功能支持多点触控,因此可以完成图片、网页缩放等操作。

注意:镜像操作要求master设备与所有设备的纵宽比相同。

点击查看使用镜像操作功能从一台设备实时控制多台设备的演示视频

录制和重放 Record & Replay Touches

Appetizer 不仅能实时将设备的触摸屏输入复制到其他设备,也可以将输入记录下来以便未来多次重复播放。录制操作需要选中单台设备,点击后会弹框选择触目标文件,存储该设备的触摸屏输入。完成录制后,点击 Stop。进而可以使用重放操作选择刚才产生的问题件进行重放。Appetizer 会准确记录每次触摸屏输入的位置、时间,并准确重放。

重放能够对选中的多个设备同步重放,达到自动化的对批量设备完成一些复杂的操作的目的。同样,重放要求目标设备与源设备的纵宽比一致(一致的情况会自动拉伸),否则无法重放。

点击查看录制和重放的功能演示视频

重放测试方案 Replay Testing

重放测试是 Appetizer 的核心功能,综合了之前介绍的录制和重放功能,能全自动化地完成测试人员需要执行的一系列复杂的测试流程。

重放测试首先需要选择一个 apk,开始重放测试的时候会先将 就版本从每个设备上卸载,并安装指定的 apk ,然后需要用户设定重放测试的流程和步骤,步骤可以包括以下几种:

重放测试的步骤可以按照任意顺序增添、放置、排列,用户在步骤设置的界面上可以很方便地增加重放测试步骤,直接用鼠标拖动步骤即可改变重放测试的执行顺序。重放测试所使用的脚本,需要先通过录制功能进行录制。截屏和暂停可以帮助用户更好的完成重放测试流程,检测过程中设备所运行程序的状态。一切就绪,点击开始重放,选择存放结果的文件夹,然后测试就好像是重放录像一样。

设定测试流程

点击查看重放测试方案演示视频

自动更新

Appetizer 客户端会自动检查是否有版本更新并下载,当下载完毕后会弹出如下提示框,点击 Restart 即可更新到最新版本。Mac版本的客户端暂时不支持自动更新,点击后会在浏览器内跳转到最新版本的下载页面下载最新的完整版。

Appetizer 自动升级

社区以及未来的功能

Appetizer 是一个快速发展的移动开发工具,有活跃的核心开发者维护。 Appetizer的中文社区在 TesterHome,欢迎开发者使用并积极为 Appetizer 的开发提意见。我们正在完善并计划推出的功能有: