安卓自动化之uiautomator(Python篇)三 Uiobject

时间:2024-04-10 16:07:26

uiautomator对象篇UiObject

from uiautomator import Device

d=Device('serial_number'')

uiobject为所有对象类父类,UiCollection和UiScriollable都继承于该类,对应的源码位于init.py

安卓自动化之uiautomator(Python篇)三 Uiobject

常用的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