XZ_iOS之小白使用WebDriverAgent的详细讲解

2020-06-01
长时间未运行,今天拉取代码运行遇到以下问题:
1>‘RoutingHTTPServer/RoutingConnection.h’ file not found
XZ_iOS之小白使用WebDriverAgent的详细讲解_第1张图片
解决:在终端中先cd到Scripts文件夹,终端输入:cd /Users/admin/WebDriverAgent
然后输入./Scripts/bootstrap.sh,重新下载依赖XZ_iOS之小白使用WebDriverAgent的详细讲解_第2张图片
然后把以下代码的assign改成strong就可以了
XZ_iOS之小白使用WebDriverAgent的详细讲解_第3张图片
2>Signing for “WebDriverAgentRunner” requires a development team. Select a development team in the project editor
解决:以下两个地方各选择一个team就可以了
XZ_iOS之小白使用WebDriverAgent的详细讲解_第4张图片
2018-01-13
安装 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 '

': 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 查看错误的地方
XZ_iOS之小白使用WebDriverAgent的详细讲解_第5张图片

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,如下图:
XZ_iOS之小白使用WebDriverAgent的详细讲解_第6张图片

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 运行初始化脚本 ,
如果直接成功运行,就显示下方结果(注:我的是看了别的博客,先运行的脚本,然后看到少啥再进行安装的,你们按照这个博客安装的结果,可能跟我的不一样,不过成功了就行,可能结果跟我的不太一样):
XZ_iOS之小白使用WebDriverAgent的详细讲解_第7张图片

####六、测试 WebDriverAgent
1、执行完成后,直接双击打开WebDriverAgent.xcodeproj这个文件,cmd + B 项目编译成功就可以了
2、在真机上运行,Xcode 选择以下选项:
XZ_iOS之小白使用WebDriverAgent的详细讲解_第8张图片

控制台输出信息查看
XZ_iOS之小白使用WebDriverAgent的详细讲解_第9张图片

关键的输出是: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
出现下图错误:
XZ_iOS之小白使用WebDriverAgent的详细讲解_第10张图片

根据提示,终端输入:brew install libimobiledevice
结果如下图:
XZ_iOS之小白使用WebDriverAgent的详细讲解_第11张图片
终端输入: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是否运行成功。出现下图,说明成功:
XZ_iOS之小白使用WebDriverAgent的详细讲解_第12张图片
而inspector的地址是http://localhost:8100/inspector, inspector是用来查看UI的图层,方便写测试脚本用的。如下图:
XZ_iOS之小白使用WebDriverAgent的详细讲解_第13张图片
如果打开了某个APP,上图也会随之改变

你可能感兴趣的:(iOS,Python)