记一次WebdriverAgent编译到真机的过程

前情提要

之前在上家公司编译过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

推薦閱讀更多精彩內容