之前用过 js 封装的 WebDriverAgent 的 macaca,然后就一直想尝鲜 WebDriverAgent-python 封装的 client 端,不经意间知道了网易大神写的 WebDriverAgent-python,他叫它为 wda。wda 传送门
纯 python 封装,那么该如何使用呢?

安装

第一步:需要下载 WebDriverAgent 工程,它是一个开源工程。
下载git clone https://github.com/openatx/facebook-wda

第二步:安装 python 的 client 端,有两种方式。

  1. 直接pip install --pre facebook-wda
  2. git clone https://github.com/openatx/facebook-wda.git 然后cd 到facebook-wda,用python setup.py install安装

开始使用

第一步:启动服务
用 xcode 打开工程,启动 Test,建立连接,或者命令行启动

UDID=$(idevice_id -l) 
xcodebuild -project WebDriverAgent.xcodeproj \-scheme WebDriverAgentRunner 
\-destination "id=$UDID" test

我选择的是 xcode 启动服务,确认服务启动,如何确认?
方法将 mac 和手机设备置于同一网段下,然后启动 WebDriverAgent 工程,scheme 选择 Test,然后看 xcode console,可以看到一个 ServerURLHere 指向http://192.168.1.1:8100

第二步:那么怎么使用这个库呢?

import wda

driver = wda.Client('http://192.168.1.101:8100')

# 跳转新浪应用
sina_session = driver.session('com.sina.weibo')

Set text

sina_session(text="Name").set_text("Hello")

Clear text

sina_session(text="Name").clear_text()


* 最后我把我编写的简单用例脚本放出来,很简单,可执行。

import wda

driver = wda.Client('http://192.168.1.101:8100')

跳转新浪应用

sina_session = driver.session('com.sina.weibo')

取得屏幕大小

size = sina_session.window_size()
print size

点击发现按钮

sina_session(text=u'发现',className='Button').tap()

跳转到设置应用

setting_session = driver.session('com.apple.Preferences')

点击通知按钮

setting_session(text=u'通知', className='Cell').tap()


### 下一步
WebDriverAgent最吸引我的是可以非常简便实现类似于安卓形式的跨应用,之前折腾了许久想要自己实现封装,现在正好可以借助前人的肩膀,下一步封装,使得脚本形成类似于appium的样式。


↙↙↙阅读原文可查看相关链接,并与作者交流