uiautomator对象篇UiObject
from uiautomator import Device
d=Device('serial_number'')
uiobject为所有对象类父类,UiCollection和UiScriollable都继承于该类,对应的源码位于init.py
常用的API有下面的几种:
1.检查对象是否出现
d(text='Settings').exists 检查文本Settings是否在当前页面出现
2.检查对象的信息
d(text='Settings;).info 检查文本对象Settings的信息
3.输入文本和清除文本
d(className='com.android.Widget').set_text('text') 输入文本信息
d(className='com.android.Widget').clear_text() 清除文本信息
4.点击与长按
d(text='Settings').click 点击对象中心
d(text='Settings').click.wait(timeout=3000) 点击对象并且等待窗口刷新
d(text='Settings').click.topleft() 点击对象的左上角
d(text='Settings').click.bottomright() 点击对象的右下角
d(text='Settings').long_click() 长按对象的中间
d(text='Settings').long_click.topleft() 长按对象的左上角
d(text='Settings').long_click.bottomright() 长按对象的右下角
5.拖动到一个点或者对象
d(text='Settings).drag.to(x=200,y=300) 拖动对象到一个点
d(text='Settings').drag.to(x=200,y=3=00,steps=300) 可加步长控制拖动时间
d(text='Settings').drag.to(text='Message') 拖动对象到另一个对象
6.两点手势与多点手势
d().gesture(startPoint1,startPoint2).to(endPoint1,endPoint2,steps=200) 两点手势
d().gesture(startPoint1,startPoint2,endPoint1,endPoint2,steps=100) 两点手势
d().gestureM((100,200),(100,300),(100,400),(100,400),(100,400),(100,400)) 三点手势,可仿照写多点
d().gestureM((100,200),(100,300),(100,400)).to((100,400),(100,400),(100,400)) 三点手势,可仿照写多点
7.放大与缩小
d().pinch.In(percent=100, steps=10) 往里缩放
d().pinch.Out(percent=100, steps=100) 往外放大
8.滑动
d().swipe.right() 向右滑动
d().swipe.left(steps=10) 向左滑动并指定时间
d().swipe.up(steps=10) 向上滑动并指定时间
d().swipe.down() 向下滑动
d().swipe("right", steps=20) 向右滑动并指定时间
10.等待
d(text="Clock").wait.gone() 等待对象消失
d(text="Settings").wait.exists() 等待对象出现
交流群: 472527767