安装 WebDriverAgent 之前,需要知道的
一、安装 Homebrew
1、在此之前先检查电脑上是否有 Ruby 环境,
查看 Ruby 环境,终端输入:ruby -v
如果电脑上没有 ruby 或者 ruby 版本太低,查看本篇博客的1和2查看更新Ruby
2、终端输入:brew -v
查看 Homebrew 的版本
结果:Homebrew 1.4.3
3、如果电脑上没有Homebrew
安装 Homebrew,终端输入: ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
注意:如果没有将上段安装的代码写在代码片段中,直接写
ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”,会被编译器转码,英文符号的双引号会被转成中文符号的双引号,导致出现下面的错误: -e:1:in '<main>': undefined local variable or method '“' for main:Object (NameError)
4、每次使用 Homebrew 进行安装Carthage 或者其他软件之前,应先对Homebrew进行更新一下, 不然可能会安装到比较老版本的Carthage等软件
终端输入: brew update
更新 Homebrew
出现Already up-to-date.说明成功。
5、使用 brew --help
查看使用帮助
二、安装 Carthage
Carthage 是用来解决 xcode project 依赖的,跟 CocoaPod 的用处差不多
1、终端输入:brew install carthage
安装 Carthage
出现错误:
2、终端输入:brew doctor
查看错误的地方
3、终端输入:brew install carthage
再次进行安装会提示下一步操作
其实 carthage 已经被安装了,只是还没有进行关联
4、终端输入:brew link carthage
出现下列错误
出现原因是:/usr/local/Frameworks 中没有 Frameworks 文件夹
解决方式一:点击桌面 — 快捷键(cmd+shift+G)— 粘贴“/usr/local”前往文件夹,创建 Frameworks 文件夹
解决方式二:直接使用终端创建
终端输入:sudo mkdir /usr/local/Frameworks
终端新建该路径 sudo chown $(whoami):admin /usr/local/Frameworks
修改权限
创建文件夹完成之后,再次输入 brew link carthage
就成功了,结果如下图:
更新 Carthage 的版本的方法
终端输入:brew cleanup carthage
删除Carthage旧版本
终端输入:brew upgrade carthage
更新Carthage版本
三、安装python
终端输入:brew install python
四、安装 npm
npm是什么?
NPM全称是Node Package Manager,是一个NodeJS包管理和分发工具,已经成为了非官方的发布Node模块(包)的标准。
1、终端输入:brew install node
安装npm
执行完之后,就安装好了nodejs和npm,如下图:
2、终端输入:npm -v
查看 npm版本
3、终端输入:node -v
查看 node版本
五、安装 WebDriverAgent
1、从github上下载代码
终端输入: git clone https://github.com/facebook/WebDriverAgent
2、终端输入:cd /Users/admin/WebDriverAgent 到 WebDriverAgent的根目录
3、终端输入:./Scripts/bootstrap.sh 运行初始化脚本
运行脚本会使用 Carthage 下载所有的依赖
使用npm打包响应的js文件:npm 是用来构建 Inspector, Inspector 是一个 react 的应用,通过往 WebDriverAgent 发 HTTP 请求,返回页面的结构。
可能出现下面的问题:
还是由于刚才的Xcode的原因,我的两个Xcode9.app(9.0)和 Xcode.app(9.2),我删除了 Xcode9.app,但是一些东西引用的是Xcode9.0app里面的,我也不知道之前安装什么工具的时候给了这个Xcode的路径,所以,需要把留下的9.2版本的命名为Xcode9.app(9.2)
如果出现了上面的问题,再次 终端输入:./Scripts/bootstrap.sh 运行初始化脚本 ,
如果直接成功运行,就显示下方结果(注:我的是看了别的博客,先运行的脚本,然后看到少啥再进行安装的,你们按照这个博客安装的结果,可能跟我的不一样,不过成功了就行,可能结果跟我的不太一样):
六、测试 WebDriverAgent
1、执行完成后,直接双击打开WebDriverAgent.xcodeproj这个文件,cmd + B 项目编译成功就可以了
2、在真机上运行,Xcode 选择以下选项:
控制台输出信息查看
关键的输出是:ServerURLHere->http://192.168.2.101:8100<-ServerURLHere
用 http://192.168.2.101:8100 在浏览器中打开,如果看到一段json,说明成功了。
七、问题解决
问题:使用这个(http://192.168.2.101:8100)网址在浏览器中显示找不到服务器
解决:端口转发
有些国产的iPhone机器通过手机的IP和端口还不能访问,此时需要将手机的端口转发到Mac上
终端输入:brew install imobiledevice
出现下图错误:
根据提示,终端输入:brew install libimobiledevice
结果如下图:
终端输入:iproxy 8100 8100
使用iproxy –help 可以查到更具体的用法。 这时通过访问http://localhost:8100/status确认WDA是否运行成功。
而inspector的地址是http://localhost:8100/inspector, inspector是用来查看UI的图层,方便写测试脚本用的
每次运行
如果出现七所述的问题,每次运行WebDriverAgent时,都需要进行接口转发
首先,将WebDriverAgent运行到手机,获取到
ServerURLHere->http://192.168.2.16:8100<-ServerURLHere
然后,打开终端,在终端中输入: iproxy 8100 8100
会显示等待连接,如下图:
这时,在浏览器中访问http://localhost:8100/status确认WDA是否运行成功。出现下图,说明成功:
而inspector的地址是http://localhost:8100/inspector, inspector是用来查看UI的图层,方便写测试脚本用的。如下图:
如果打开了某个APP,上图也会随之改变