安装工具

brew install --HEAD ideviceinstaller

brew install --HEAD libimobiledevice

brew install ios-deploy

具体安装细节详见此贴

常用命令

查看真机设备udid
idevice_id -l

查看真机的设备名字
idevicename -d

查看所有的模拟器和真机
instruments -s devices

证书

证书种类如下:

image

由其可见苹果对证书要求非常严格,必须在证书设备列表中设备才能安装打包后的 app.

  1. 可以使用公司苹果开发者账号,需要找开发同学加权限

  2. 可以使用个人免费开发者账号

由于大多数同学情况可能仅有个人免费开发者账号,下面着重介绍这种方式做自动化测试

个人免费开发者账号

先安利一下简书上有关申请个人免费开发者账号的贴子,
传送门

总结贴子内容:

1.注册 apple 账号

2.xcode 中的 Preferences 添加 apple 账号

3.注册的账号默认是赋予个人免费开发者权限的

4.个人免费开发者默认有效期是 7 天,过期需要重新签名

5.个人免费开发者的设备安装名单是 3 台

下图是我自己个人开发者账号

开发者账号的意义

在这里先抛砖引玉说下为什么使用开发者账号

1.如果是模拟器不需要开发者账号,因为打包的时候不会做 app 签名验证.

2.打包被测 app 给真机安装

3.WebDriverAgent 安装使用

安装 WebDriverAgent

什么是 WebDriverAgent?

WebDriverAgent(简称 wda) 是 appium 底层和 xcuitest 通信的工具,wda 也是 iOS 项目,所以也需要编译.

怎么用

1.在命令行安装 appium 的时候已经集成了 wda 模块

/usr/local/lib/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent/WebDriverAgent.xcodeproj

2.使用 appium desktop 的 wda 模块

/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent

3.由此可见 wda 模块不需要单独安装,但是现在如果运行脚本会报这个错误,因为 wda 没有签名

Unable to launch WebDriverAgent because of xcodebuild failure: xcodebuild failed with code 65

关于 wda 签名

可以参考此贴,传送门,总结如下几点

1.打开 WebDriverAgent.xcodeproj 文件

2.WebDriverAgentLib 修改 Bundle,Bundle 需要改成不存在的值

3.WebDriverAgentRunner 修改 Bundle,Bundle 需要改成不存在的值

常见错误如下:

1.没有设置签名,需要按照步骤 2 和步骤 3 修改 Bundle

2.出现下图说明证书配置正确

3.设备信任 wda

由于 iOS 安全机制,自己 build 的 app 默认不信任的,所以需要在设置->通用->描述文件于设备管理中信任 wda,否则 wda 不能启动.

4.提示'RoutingHTTPServer/RoutingConnection.h' file not found

wda 根目录下,输入 sh ./Scripts/bootstrap.sh 下载依赖


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