brew install --HEAD ideviceinstaller
brew install --HEAD libimobiledevice
brew install ios-deploy
查看真机设备udid
idevice_id -l
查看真机的设备名字
idevicename -d
查看所有的模拟器和真机
instruments -s devices
由其可见苹果对证书要求非常严格,必须在证书设备列表中设备才能安装打包后的 app.
可以使用公司苹果开发者账号,需要找开发同学加权限
可以使用个人免费开发者账号
由于大多数同学情况可能仅有个人免费开发者账号,下面着重介绍这种方式做自动化测试
先安利一下简书上有关申请个人免费开发者账号的贴子,
传送门
总结贴子内容:
1.注册 apple 账号
2.xcode 中的 Preferences 添加 apple 账号
3.注册的账号默认是赋予个人免费开发者权限的
4.个人免费开发者默认有效期是 7 天,过期需要重新签名
5.个人免费开发者的设备安装名单是 3 台
下图是我自己个人开发者账号
在这里先抛砖引玉说下为什么使用开发者账号
1.如果是模拟器不需要开发者账号,因为打包的时候不会做 app 签名验证.
2.打包被测 app 给真机安装
3.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
可以参考此贴,传送门,总结如下几点
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 下载依赖