UIautomator2基本语法

连接设备

使用USB连接:

d=u2.connect_USB('148b4090')  #输入手机序列号
#d是给当前连接设备定位一个变量

获取设备的信息:

print(d.info)

获取当前APP的活动窗口和包名:

print(d.current_app())

获取窗口的大小:

print(d.window_size())

打开关闭app:

打开app:

d.app_start(‘’)  #传入APP的包名称

关闭app

d.app_stop(‘’)  #传入APP的包名称

停止所有正在运行的程序:

d.app_stop_all()  
#只能关闭已经打开正在运行的第三方APP不能关闭后台运行的APP,包名只能停止自定义安装的app
#停止所有正在运行的程序设置白名单d.app_stop_all(excludes=[‘’])引号里面传入一个APP的包名

元素的定位和操作:

元素的定位方法:

ResourceId定位:

d(resourceId="com.smartisanos.clock:id/text_stopwatch").click()

Text定位:

d(text="秒表").click()

ClassName定位:

d(ClassName="com.smartisanos.clock:id/text_stopwatch").click()

description定位:

d(description='短信').click

Instance定位到第几个:

如果页面存在多个相同的元素可以使用instance进行选择;

三个相同的元素他们的resourceid和ClassName选择一个即可,然后在使用instance:

第一个:

d(resourceId="com.netease.cloudmusic:id/a6w", className="android.widget.ImageView").click()

第二个:

d(resourceId="com.netease.cloudmusic:id/a6w", className="android.widget.ImageView", instance=1).click()

第三个:

d(resourceId="com.netease.cloudmusic:id/a6w", className="android.widget.ImageView", instance=2).click()

元素的操作方法:

对定位到的元素点击:

d(text="Settings").click() 

对定位到的元素长按

d(text="Settings").long_click()

等待元素出现,返回True为出现false为没有出现:可用于做判断处理

d(text="Settings").wait(timeout=10.0)

输入文案:

d(text="Settings").set_text("你好")

手机屏幕和按键的操作:

屏幕的操作:

#打开屏幕:
d.screen_on()

#关闭屏幕:
d.screen_off()

获取当前屏幕状态:

d.info.get(' screenOn ')

解锁屏幕:

d.unlock()

点击屏幕:

d.click(x,y)

双击屏幕:

d.double_click(x,y)
d.double_click(X,Y,0.1)  #双击屏幕间隔时间

长按屏幕:

d.long_click(x,y)
d.long_click(X,Y,0.5)  #0.5为长按屏幕的时间

对屏幕的拖动:

d.swipe(sx, sy, ex, ey)  #传入开始坐标和结束坐标
d.swipe(sx, sy, ex, ey, 0.5)  #0.5代表拖动速度

或者

d.drag(sx, sy, ex, ey)
d.drag(sx, sy, ex, ey, 0.5)

滑动点:

d.swipe((x0, y0), (x1, y1), (x2, y2), 0.2)

截图:

d.screenshot("home.jpg")  #传入路径和名称

手机系统按键的操作:

#home键
d.press("home")

#返回键
d.press("back")

通知栏的操作:

打开通知栏

d.open_notification()

打开通知栏的设置

d.open_quick_settings()

shell命令

d.adb_shell(‘‘)直接传入shell命令即可

e)文件的导入导出

把文件从电脑导入手机

d.push(‘文件的路径加文件名’,’/sdcard/’)

把文件从手机导入电脑

d.pull("/sdcard/tmp.txt(手机文件的路径)", “拉 倒电脑后要改的名字”)

d)针对弹窗的操作

d.disable_popups()#自动跳过弹出窗口
d.disable_popups(False)#禁用自动跳过弹出窗口

详情

更多方法请参考:https://github.com/openatx/uiautomator2

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值