前提说明:Appium1.6通过WebDriverAgent来操作iOS,所以需要在Appium下安装一份WebDriverAgent,并且将程序安装到iOS真机上
(如果是模拟器不需要这步骤)
环境:Appium1.6 Xcode8.3
前提:电脑必须安装了Carthage
可以通过brew install Carthage
或者通过github下载pkg文件直接安装(源码安装可能会报错)https://github.com/Carthage/Carthage/releases
WebDriverAgent安装步骤
1.
cd /Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent
目录在appium安装目录下,具体路径参照自己的路径,可以通过find命令查找
2.在当前目录下执行脚本
sh ./Scripts/bootstrap.sh
3.编译WebDriverAgent.xcodeproj
打开当前目录下的WebDriverAgent.xcodeproj文件(工程文件在第1步的目录下)
注意:build时需要指定一个Development team,可以用个人Apple ID账号,生成个人证书和team(在Xcode->Preferences->Account中配置)
PROJECT->WebDriverAgent、TARGETS->WebDriverAgentLib和WebDriverAgentRunner的Signing使用个人的证书和Team(画黑色横线的部分)
TARGETS->WebDriverAgentLib和WebDriverAgentRunner的Product Bundle Identifier使用一个新名字,因为Bundle ID不能重复
点击Product->Build,将工程文件编译一下
4.测试一下,然后手机上信任证书
还是在
WebDriverAgent目录下,执行下面的命令来测试一下是否生效了
xcodebuild -project WebDriverAgent.xcodeproj -scheme WebDriverAgentRunner -destination 'id=你的udid' test
如果没有报错证明安装成功,同时手机上会安装一个WebDriverAgent软件
说明:如果编译WebDriverAgent时使用了自己的证书,需要再手机设置->通用里信任一下证书
测试WebDriverAgent时遇到的问题1:
Testing failed:
Signing for "WebDriverAgentRunner" requires a development team. Select a development team in the project editor.
Code signing is required for product type 'UI Testing Bundle' in SDK 'iOS 10.3'
需要下图的这两个target都配置一下debug的证书和配置文件,然后编译
测试WebDriverAgent时遇到的问题2:
Testing failed:
Test target WebDriverAgentRunner encountered an error (Early unexpected exit, operation never finished bootstrapping - no restart will be attempted)
解决方法:
进入手机的设置->通用->描述文件与设备管理,信任编译WebDriverAgent时选择的证书
然后再执行该命令就可以了