一、WebDriverAgent的介绍
WebDriverAgent是由Facebook开发的一套开源框架,用于端对端的UI测试,能同时支持模拟器和真机。
github地址
截图是真机效果,我当前选中的是一个按钮,点击Inspector栏的tap会触发按钮的点击方法。
二、WebDriverAgent的安装
首先下载WebDriverAgent工程
$git clone https://github.com/facebook/WebDriverAgent
安装carthage和npm
$brew install carthage
$carthage version
0.32.0
$brew install npm
$npm version
{ npm: '6.7.0',
ares: '1.15.0',
brotli: '1.0.7',
cldr: '34.0',
http_parser: '2.8.0',
icu: '63.1',
llhttp: '1.1.1',
modules: '67',
napi: '4',
nghttp2: '1.34.0',
node: '11.10.0',
openssl: '1.1.1a',
tz: '2018e',
unicode: '11.0',
uv: '1.26.0',
v8: '7.0.276.38-node.17',
zlib: '1.2.11' }
然后进入到之前下载的WebDriverAgent路径下执行脚本
yellow@jiangchongdeMacBook-Pro ~/Downloads/WebDriverAgent-master ./Scripts/bootstrap.sh
到这里WebDriverAgent的相关工具就安装完成了。
三、真机使用
真机运行需要证书和描述文件,个人免费证书也可以,注意配置WebDriverAgentRunnerRunner工程就行。
打开下载的WebDriverAgent工程,选中运行的scheme为WebDriverAgentRunnerRunner,执行command+U运行
注意控制台打印的IP
2019-02-20 13:47:49.264926+0800 WebDriverAgentRunner-Runner[775:234655] ServerURLHere->http://10.39.74.78:8100<-ServerURLHere
控制台输出的IP为http://10.39.74.78:8100,在后面拼接status并在浏览器中打开,查看是否成功http://10.39.74.78:8100/status
注意:如果是模拟器上运行,地址肯定可以打开,如果是真机上运行,则有可能会打不开。我们需要做一下端口转发。
$brew install libimobiledevice
$iproxy 8100 8100
waiting for connection
此时在浏览器中打开链接http://localhost:8100/status查看
{
"value" : {
"state" : "success",
"os" : {
"name" : "iOS",
"version" : "11.2.6"
},
"ios" : {
"simulatorVersion" : "11.2.6",
"ip" : "10.39.74.78"
},
"build" : {
"time" : "Feb 20 2019 13:32:07"
}
},
"sessionId" : "DBABD7B1-114A-4972-9560-BE108FA4EED5",
"status" : 0
}
出现类似上面的信息表示连接成功。
然后我们打开连接http://localhost:8100/inspector之后就能在浏览器中看到我们真机屏幕的投影。接着运行你想要测试的项目即可出现类似文章开篇的截图效果。
四、结语
WebDriverAgent的简单使用就介绍到这里,功能远不止如此,更多强大的功能在github上都有介绍。