一、安装环境准备
1、MacOs
2、Xcode(建议更新为最新版本)
3、安装node
brew install node
# 查看npm版本
npm -v
4、安装carthage
brew install carthage
# 如果只是更新请输入
brew upgrade carthage
5、下载WebDriverAgent
git clone https://github.com/facebook/WebDriverAgent
6、运行初始化脚本
# 进入到WDA 根目录
cd WebDriverAgent/
# 运行初始化脚本
./Scripts/bootstrap.sh
二、WebDriverAgent项目配置
1、进入WebDriverAgent目录,双击WebDriverAgent.xcodeproj文件
cd /Users/jinwei/Documents/GitHub/WebDriverAgent
2、按照下面图的步骤依次执行点击,先配置WebDriverAgentLib
3、按照下面图的步骤依次执行点击,再配置WebDriverAgentRunner
选择完成后,若出现下图问题:
请进入WebDriverAgentRunner -> Build Settings设置中,找到Packaging中的选项,将其内容修改为唯一识别的字符串,如下图所示:
三、运行与测试
1、iphone手机连接Mac,并添加信任
2、选择Product->Destination->你的设备
3、选择Product->Scheme->WebDriverAgentRunner
4、然后进行运行,Product中选择test
运行后会提示输入密码:
一直输入密码,直到它不提示为止,此密码应该为登录密码
5、打开控制台方法:选择view->Debug Area->Activate console打开底部控制台。
然后控制台会输出IP地址和端口,例如:http://192.168.0.1:8100/status,输入在浏览器中,
确认WDA是否运行成功。如果出现一串JSON输出,说明WDA安装成功了。
但是可能会出不来,
<pre style="font-family: Arial, Helvetica, sans-serif; padding: 5px; max-width: 680px
!important; background-color: rgb(246, 246, 246); border: 1px dotted rgb(170, 170,
170); white-space: pre-wrap; overflow-wrap: break-word;"># 使用--HEAD安装最新版本
$ brew install libimobiledevice --HEAD $ iproxy 8100 8100</pre>
但是会提示你需要更新:
<pre style="font-family: Arial, Helvetica, sans-serif; padding: 5px; max-width: 680px
!important; background-color: rgb(246, 246, 246); border: 1px dotted rgb(170, 170, 170);
white-space: pre-wrap; overflow-wrap: break-word;">Warning: libimobiledevice HEAD-26373b3_2 is already installed and up-to-date
To reinstall HEAD_3, run `brew reinstall libimobiledevice` $ brew reinstall libimobiledevice</pre>
更新后:
<pre style="font-family: Arial, Helvetica, sans-serif; padding: 5px; max-width: 680px
!important; background-color: rgb(246, 246, 246); border: 1px dotted rgb(170, 170, 170);
white-space: pre-wrap; overflow-wrap: break-word;"># 运行命令后会显示如下:
$ iproxy 8100 8100 waiting for connection</pre>
此时浏览器输入:http://localhost:8100/status ,确认WDA是否运行成功。
而inspector的地址是http://localhost:8100/inspector, inspector是用来查看UI的图层,方便写测试脚本用