1.Macaca简介
Macaca是阿里巴巴集团开发的一套完整的自动化测试解决方案。
2.Macaca特性:
- 支持移动端和PC端
- 支持Native, Hybrid, H5 等多种应用类型
- 提供客户端工具和持续集成服务
3.macaca-cli客户端的安装:
3.1安装 Node.js
请安装 Node.js v4.0 或者更高版本,装好 Node.js 后命令行里就已经集成了 npm 工具,为了提高安装模块的速度,请使用国内的 cnpm。
3.2 iOS 环境安装
请安装 Xcode8 或者更高版本
需要安装 usbmuxd 以便于通过 USB 通道测试 iOS 真机,不需要测试真机则不用安装
$ brew install usbmuxd
应用中如含有 WebView,请安装 ios-webkit-debug-proxy
$ brew install ios-webkit-debug-proxy
备注:使用brew命令需要安装Homebrew(一款常用的 MacOS 的包管理器),请按照官网提示安装。
准备 App 包:如需要测试 iOS 应用,请使用 Scheme 设置为 debug 的 .app 包。
3.3 Android环境安装
3.3.1 安装 JDK
配置 JAVA_HOME,根据你所使用的 shell 工具修改不同的文件,比如 ~/.bashrc, ~/.bash_profile, ~/.zshrc
shell export JAVA_HOME=path/to/your/Java/Home
3.3.2安装安卓 SDK
运行 brew install android-sdk,然后安装18-24版本中的任一 SDK
shell 环境设置 ANDROID_HOME 根据你所使用的Terminal修改不同的
|
|
注意:准备 App 包:如需要测试 Android 应用,请使用 .apk 格式的包。
3.4 全局安装macaca
$ npm i -g macaca-cli
如果看到如下可爱的小猴子,那恭喜你安装成功啦!重新安装则会覆盖更新。
3.5安装驱动
####3.6 环境检查
通过 macaca doctor 可以检查环境是否配置成功
$ macaca doctor
如上图所示则表示环境均配置正常,如果有错误,会出现红色的提示。
4 运行官方示例
将官方示例(mobile-app-sample-nodejs)克隆到本地,更多的示例请访问macaca-sample。
|
|
4.1 Android 的自动化测试
先在mobile-app-sample-nodejs/macaca-test/mobile-app-sample.test.js脚本文件中如果是ios该为Android。
|
|
在mobile-app-sample-nodejs目录下执行
macaca run
测试的过程
|
|
4.2 IOS 的自动化测试
先在mobile-app-sample-nodejs/macaca-test/mobile-app-sample.test.js脚本文件中如果是Android改为ios。
|
|
在mobile-app-sample-nodejs目录下执行
macaca run
测试过程
|
|
5.脚本初始化参数
5.1 常见的参数
- platformName String 当前用例运行的平台 { iOS / Android / Desktop }
- browserName String 当前测试的浏览器名称 { iOS: Safari } { Android: Chrome } { Desktop: Chrome / Electron }
5.2 App 相关参数
deviceName String 模拟器的名称,例如 ‘iPhone 6’ 或者 ‘Nexus 5x’。
app Stirng .ipa,.app 或者 .apk 文件的绝对地址或者远程地址,或者是包含上述文件格式的 Zip 文件。
udid String 测试设备的唯一设备 ID。
5.3 Android 的参数介绍
reuse Number 0: 启动并安装 app。{1 (默认): 卸载并重装 app。 2: 仅重装 app。3: 在测试结束后保持 app 状态。}
- package String Android app 的 package name。
- activity String 启动时的 Activity name。
5.4 iOS 的参数介绍
- reuse Number 0: 清楚数据并重装 app。 1: (默认) 卸载并重装 app。 2: 仅重装 app。 3: 在测试结束后保持 app 状态。
- bundleId String 应用的 Bundle ID,例如 com.apple.Maps。
- autoAcceptAlerts Boolean 自动接受所有的系统弹窗信息。默认是 false。
- autoDismissAlerts Boolean 自动拒绝所有的系统弹窗信息。默认是 false。
5.5 基本用法
|
|
Macaca自动化测试Android和IOS应用,基本上说到这里就要结束。后面我们还是学习如何自己写测试脚本。