前情提要
之前在上家公司编译过WebdriverAgent到真机,当时没有遇到那么多坑,这阵子在新公司再次编译WebdriverAgent到真机时遇到n多令人崩溃的问题,因此特发此文,以便需要时再看。
版本
Appium-1.7.1.dmg Mac桌面版
Xcode9.4
真机系统版本 iOS 10.1.1
过程
1.基础环境
首先当然是安装好Appium iOS相关环境,可参考这里搭建环境。
2.WebdriverAgent下载以及依赖环境安装
基础环境搭建好之后,下载最新的WebdriverAgent项目到本地,进入下载的工程目录文件夹,执行脚本安装依赖(切记此时先不要移动或拷贝文件夹到appium安装目录下)。
➜ WebDriverAgent git:(master) ✗ cd WebdriverAgent #切换到WebdriverAgent目录下
➜ WebDriverAgent git:(master) ✗ sudo mkdir -p Resources/WebDriverAgent.bundle #创建资源文件夹
➜ WebDriverAgent git:(master) ✗ sudo sh ./Scripts/bootstrap.sh #执行脚本安装wda依赖
当出现类似如下提示时,表示依赖环境安装成功。
之所以先不要移动或拷贝文件夹到appium安装目录,是因为移动到appium安装目录下之后,安装依赖时会报各种错,难以解决。
3.WebdriverAgent项目编译
备份或删除原来appium自带的WebdriverAgent,我的路径是:
/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent
PS命令行安装的appium路径为:
/usr/local/lib/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent
备份或者删除完成后,将第二步下载以及安装好依赖环境的WebdriverAgent工程拷贝至上述目录中。双击WebDriverAgent.xcodeproj,在Xcode中打开WebdriverAgent项目。
这里我们需要编译两个东西,一个是WebDriverAgentLib,一个是WebdriverAgentRunner。在编译之前请在Xcode中登录开发者账号。
WebDriverAgentLib编译步骤如下:
WebdriverAgentRunner编译步骤如下:
4.编译WebdriverAgent到真机
切换到WebdriverAgent所在目录,执行如下命令:
xcodebuild -project WebDriverAgent.xcodeproj -scheme WebDriverAgentRunner -destination 'id=真机udid' test
首次安装可能会失败,原因是我们手机并并没有信任这个apple id的开发者,到设置-通用-设备管理(描述文件) 信任你的apple id就可以了。再次运行上述命令,看到如下图,就成功了,此时手机上会出现WebdriverAgent图标。
真机udid可以通过:idevice_id -l获取
参考文章
https://www.cnblogs.com/baconLiu/p/6861431.html
http://www.cnblogs.com/we8fans/p/7384291.html
https://testerhome.com/topics/6962
https://github.com/appium/appium-desktop/releases?after=v1.8.0
https://www.cnblogs.com/yuhanle/articles/8213675.html
https://blog.csdn.net/qq_34890427/article/details/75045028?fps=1&locationNum=10
https://github.com/facebook/WebDriverAgent/wiki/How-To-Achieve-The-Best-Lookup-Performance
https://testerhome.com/topics/7192