上一节,我们完成了,环境部署(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) # 等待元素消失