simplify the life

WebDriverAgent 安装备忘

A WebDriver server for iOS that runs inside the Simulator.

Andriod 有个类似的工具叫做 adb。目前为止我对它的认识是,可以将真机与电脑相连,然后用代码模拟操作真机,比如这个 跳一跳外挂 iOS 版 就是用的 WDA,截屏分析像素点,模拟按压屏幕。

开始

首先,将 WDA clone 下来,没有安装过 npm(不多说) 和 Carthage(通过 carthage version 命令验证是否安装) 的自行安装好。

git clone git@github.com:facebook/WebDriverAgent.git
brew install carthage

然后进入 clone 的 WDA 的目录,安装依赖:

./Scripts/bootstrap.sh

It will:

  • fetch all dependencies with Carthage
  • build Inspector bundle using npm

然后双击打开(默认已经安装 xcode)项目中的 WebDriverAgent.xcodeproj 文件。安装到真机上都是需要证书签名的,这里参考 此文

将第 5 处修改为任意随机字符串。

将 iPhone 与电脑连接。

菜单栏选择目标设备:

Scheme 选择 WebDriverAgentRunner:

最后运行 Product -> Test。

一切正常的话,手机上会出现一个无图标的 WebDriverAgent 应用,启动之后,马上又返回到桌面。这是很正常的不要奇怪。此时控制台界面可以看到设备的IP。如果看不到的话,使用这种方法打开:

通过上面给出的 IP 和端口,加上 /status 合成一个url地址。例如 http://10.0.0.1:8100/status,然后浏览器打开。如果出现一串 JSON 输出,说明 WDA 安装成功了。

端口转发

有些国产的 iPhone 机器通过手机的 IP 和端口还不能访问,此时需要将手机的端口转发到 Mac 上。

brew install libimobiledevice
iproxy 8100 8100

这时通过访问 http://localhost:8100/status 确认 WDA 是否运行成功。

而 inspector 的地址是 http://localhost:8100/inspector,inspector 是用来查看 UI 的图层,方便写测试脚本用的

其他问题

Product -> Test 运行时如果报错(Development cannot be enabled while your device is locked.),可以点击 设置 --> 通用 --> 重置 --> 重置位置和隐私,然后重新连接 usb,重启 xcode

posted on 2018-04-25 14:33 韩子迟 阅读(...) 评论(...) 编辑 收藏

导航

统计信息

News