今天在"Macaca 自动化测试 2 群"看到一些小伙伴谈到 macaca iOS 搭建遇到问题,决定把我搭建了三台 mac 设备过程中总结的文档发布出来给小伙伴们参考,希望能有所帮助.

macaca 环境搭建 (Mac 环境)

iOS

1.安装 Xcode

Mac App Store 即可下载

首次启动 Xcode,需要同意协议并输入系统用户密码。

2.安装 Xcode Command Line Tools

前提:安装了 Xcode 并启动,已经同意协议并输入系统用户密码
在终端输入

xcode-select --install

3.安装 brew

教程:https://brew.sh/index_zh-cn.html

4.安装 carthage

前提:安装了 Xcode 后

brew install carthage

5.安装 node.js

检查是否安装 node.js

node -v
npm -v

如果没有 node,用下面的命令安装:

brew install node

6.换 taobao 源

换 taobao 源对于没有科学上学的同学很有帮助,能加快部署节奏

npm install -g cnpm --registry=https://registry.npm.taobao.org

7.macaca 安装

换 taobao 源后都用 cnpm 命令了

cnpm i -g macaca-cli

8.macaca-ios

cnpm i -g macaca-ios

9.安装 web 测试插件

brew install ios-webkit-debug-proxy

10.安装真机调试插件

brew install usbmuxd
brew install ios-deploy

11.重签名 XCTestWD.xcodeproj

因为 iOS 系统的安全机制,用 apple 开发者账号 (个人注册的免费账号也可以) 重签名后的未上架应用才能安装到 iOS 设备,而且设备需要在开发者账号的设备列表.

项目所在路径: /usr/local/lib/node_modules/macaca-ios/node_modules/xctestwd

1.双击打开 xcode 项目

xcode 项目所在路径: /usr/local/lib/node_modules/macaca-ios/node_modules/xctestwd/XCTestWD.xcodeproj

如图操作:

出现报错:

line 12: ideviceinstaller: command not found

解决方法:

brew install --HEAD ideviceinstaller

11.真机调试

设备连接真机

注意事项:

真机需要有待测试 app 的安装权限 (测试机需要在待测试 app 所使用开发者账号的开发者设备列表中)

12.检查安装成果

命令行输入:

macaca doctor

macaca-doctor version: 2.0.2
Node.js checklist:

node env: /usr/local/bin/node
node version: v8.1.4

iOS checklist:

Xcode Command Line Tools is ready, version: 2347.
xcodebuild version: 8.3.3
iproxy[usbmuxd] is installed at: `/usr/local/bin/iproxy`
ios_webkit_debug_proxy is installed at: `/usr/local/bin/ios_webkit_debug_proxy`
carthage is installed, version: 0.24.0

Android checklist:

JAVA version is `1.8.0_111`
JAVA_HOME is set to `/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home`
ANDROID_HOME is set to `/Users/rowling/Library/Android/sdk`
Platforms is set to `/Users/rowling/Library/Android/sdk/platforms/android-9`
ADB tool is set to `/Users/rowling/Library/Android/sdk/platform-tools/adb`
gradle is installed, version: 4.0

Installed driver list:

android: 2.0.31 [out-of-date]
ios: 2.0.23 [out-of-date]


↙↙↙阅读原文可查看相关链接,并与作者交流