UIAutomator2的API文档(二)

1.设备屏幕事件

熄灭屏幕d.screen_off()

唤醒屏幕d.screen_on()

屏蔽状态d.info.get('screenOn')#返回True or False

解锁屏幕d.unlock()#安卓7.0试了可以,安卓9.0就不行了,实际行为是 1.启动activity: com.github.uiautomator,2.按下home键

2.设备按键事件(所有的keyevent请点我)或官方地址

用法:d.press(keycode)

当前支持以下事件键值:,

home(主屏),back(返回上一级)

left,right,up,down,center(打开一个文本编辑框,可看到移动光标)

search(搜索框),enter(回车),delete ( or del 删除选中内容)

recent (recent apps),menu(菜单键) 这俩效果貌似一样的

volume_up(音量+),volume_down(音量-),volume_mute(静音)

camera(相机--没打开),power(电源键)

3.设备手势交互

#x,y表示坐标,或填入小数(0.5,0.5)百分比表示屏幕的中心点,适用于:click,swipe,drag,long_click

单击d.click(x,y)

双击d.double_click(x,y,[duration])#两次点击之间的间隔默认0.1秒

长按d.long_click(x,y,[delay])#delay默认0.5秒

滑动d.swipe(sx,sy,ex,ey,[delay])#delay默认0.5秒

拖拽d.drag(sx,sy,ex,ey,[delay])#delay默认0.5秒

多点滑动:hw.swipe_points([(209,943),(541,973),(551,1265),(857,1265)],0.2)

按下并拖动(Beta):

d.touch.down(x,y)

time.sleep(0.1)

d.touch.move(x,y)

d.touch.up()

4.屏幕方向设定

#打开拨号界面或短信界面:在android7.0上试了n,l,r均有效,android9.0上相册有受影响

n(natural),l(or left),r(right),u(upsidedown 这个无效)

direct = d.orientation#默认方向,输出natural

d.set_orientation('l')

#锁定/解锁屏幕旋转

d.freeze_rotation()

d.freeze_rotation(false)

5.屏幕截图

#要获得PIL格式的图像,需要安装pillow库,支持png、jpg格式:d.screenshot("c:/name.jpg")

#要获得opencv格式的图像,需要安装numpy和cv2库,用法如下:

img=xm.screenshot(format='opencv')

cv2.imwrite('c:/test.jpg',img)

#获得原始的jpeg数据

imgbin=d.screenshot(format='raw')

open("test.jpg","wb").write(imgbin)

6.转储UI hierarchy

xml=d.dump_hierarchy()

7.打开通知中心/快捷设置

d.open_notification()

d.open_quick_settings()

posted on 2019-08-01 16:48  GSY921  阅读(4378)  评论(0编辑  收藏  举报

导航