上一节,我们完成了,环境部署(tidevice + wda + facebook-wda)
这节,我们来看看怎么弄个demo试试
首先,
tidevice -u [设备 udid] wdaproxy -B [wda 的 bundle Id] --port 8100
我们使用tidevice,启动wda服务
然后安装weditor
pip3 install -U weditor
安装完成后,命令行输入weditor,打开网页查看手机app的元素
手上没有ios测试机,咱们后面再附图。
拿到我们想要的元素后,我们开始写脚本了。
import wda
wda.DEBUG = False # default False
wda.HTTP_TIMEOUT = 180.0 # default 60.0 seconds
wda.DEVICE_WAIT_TIMEOUT = 180.0
首先,引库,设置下全局配置。( DEBUG设置为 True
时会显示HTTP请求和响应信息 )
然后创建客户端
c = wda.Client('http://localhost:8100')
注:初始化连接设备时不需要事先使用tidevice命令启动WDA,wda.Client()会自动启动WDA应用
然后记录下常用的api
# 启动与停止
c.session().app_activate("com.xxxx.xxx") # 打开app
c.session().app_terminate("com.xxxx.xxx") # 关闭app
# 点击
s(name="xxxx").tap() 点击元素
# 文本操作
ele = s(text='搜索').get()
ele.set_text("NFC") # 输入文本
ele.clear_text() # 清除文本
ele.set_text("\b\b\b\n") # 删除3个字符
ele.set_text("NFC\n") # 输入文本并确认
# 等待
s.implicitly_wait(5) #设置隐式等待
s.set_timeout(10.0) #设置超时等待
s(name="屏幕使用时间").wait(timeout=3.0) # 等待元素出现
s(name="屏幕使用时间").wait_gone(timeout=3.0) # 等待元素消失