远程办公之IOS 设备远程控制(调试)环境架设

 

应用背景及场合

 

   疫情期间,人员被困外地或响应国家推迟复工号召或避免大规模人员聚集等各种原因需要分散远程办公场合。

通过远程控制IOS 手机的方式,开发人员可以远程联机真机调试IOS项目,QA等测试人员可以及时跟进IOS项目测试。

 

原理简介

 

苹果本身有XCTEST,XCUITEST 等API, 出于安全性的原因,IOS 设备控制现成比较少, 一些方案已经不被苹果支持了。

FACEBOOK 对XCTEST等API进行了封装并写了一个开源的中间件 WebDriverAgent(简称WDA). WDA 是手机端的服务器端程序,我们选择一个运行在MAC 上的客户端网页与之通讯,就拥有了在网页上控制IOS设备基本操作的能力。

 

 

方案选型

   本地环境(家里):

       PC Windows /MAC OS 或可以跑 VNC 的移动设备即可

   硬件环境(办公室异地):

      MAC 设备 , IOS 真机设备

   软件环境(办公室异地):

      MACOS 10.14.5 – 10.15.x

      XCODE 11.3.x

      涉及的主要应用软件  WDA, WDAProxy

 

最佳实践

1、安装WebDriverAgent :

 

WDA的安装很方便,只需要执行下面几个步骤就搞定(前提是你安装了各种环境支持,brew ,go 等):

ps: 安装 brew 可以参考 网上的文章,一般打个ruby 命令就可以了

$ ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)" 

第一步:在文档目录新建一个目录 wda_remote_testing,并打开命令行终端执行下面脚本下载wda工程。

(从github上下载代码)

$ git clone https://github.com/appium/WebDriverAgent

 

第二步:

 

$cd ./WebDriverAgent

$./Scripts/bootstrap.h

该操作会通过Carthage安装所有的依赖。

第三步:打开WebDriverAgent.xcodeproj,开启WebDriverAgentRunner test即可。(此处省略800字,坑较多,可以参考后面文献网址。 注,需要一个开发证书,最好用能导出IPA的adhoc 证书,可以快速安装到其他MAC 和 IOS 真机上)

2、 安装启动WdaProxy :

WdaProxy 是前面说的运行在MAC 上的中间件,它是用GO 语言编写的。

 

建议一切从简,直接安装。

切回MAC 的终端,进入 WebDriverAgent 上级目录 ,

运行:

安装现成的wdaproxy 中间件

$ brew install openatx/tap/wdaproxy

插上IOS  真机(去掉休眠,锁屏,亮度调到最低),打命令获取当前连接的IOS 设备的UUID

$ UDID=$(idevice_id -l | head -n1)

 启动 Wdaproxy 中间件

$ wdaproxy –p 8100 –u $UDID -W ../WebDriverAgent

 

2、 效果:

切回MAC 的终端,进入 WebDriverAgent 上级目录

运行:

$ open http://127.0.0.1:8100/remote

就可以看到一个网页上面同步了你的真机画面,然后你可以用鼠标对网页上的手机进行点击,滑动,输入文字等。

 

常见问题:

 

参考资料:

https://github.com/appium/WebDriverAgent

https://github.com/openatx/wdaproxy

iOS 测试 WebDriverAgent 简介 https://testerhome.com/topics/4904

 

 

 

 

你可能感兴趣的:(远程办公之IOS 设备远程控制(调试)环境架设)