常用功能方法的整理和总结

导入

import uiautomator2 as u2

连接ADB设备:

可以通过USB或Wifi与ADB设备进行连接,进而调用Uiautomator2框架,支持同时连接单个或多个ADB设备。

USB连接:一个设备时,可简写

d = u2.connect()

USB连接:也可根据设备号进行连接

d = u2.connect("设备号")

无线连接:通过设备的IP连接(需要在同一局域网且设备上的atx-agent已经安装并启动)

d = u2.connect("10.1.2.3")

APP操作:

获取前台应用信息:d.app_current()

获取设备基本信息:d.info()

获取设备详细信息:d.device_info()

检查并维持设备端守护进程处于运行状态:d.healthcheck()

停用守护程序:d.service( 'uiautomator" ).stop()

安装应用(只能通过URL下载安装):d .app_install( 'http: / / some-domain.com/some .apk ' ) # 引号内为示例URL地址

启动应用:d . app_start( " com.demoapp.demo ') # 引号内为 App包名

停止应用:

# 强制停止应用:d .app_stop( ' com.example.hello_world " )

# 清空App数据:d .app_clear( ' com. example.hello_world )

停止所有正在运行的应用程序:d.app_stop_all()

停止所有正在运行的应用程序,除了com.examples.demo           d .app_stop_all(excludes=[ ' com.examples .demo' ])

push文件到设备:d .push( ""foo.txt", " / sdcard /")

push文件到设备和重命名:d.push("foo.txt", " /sdcard/bar.txt")

从设备中拉取文件:d .pull(" / sdcard/tmp.txt" ,"tmp.txt")  # 引号内为示例文件名

打开屏幕:d . screen_on()

关团屏幕:d . screen_off()

解锁屏幕:d.unlock() # 相当于打开屏幕并按home键

获取当前屏幕状态:d .info.get( 'screenon') # 返回布尔值

硬键盘和软键盘操作:

d . press( "home")  # 点击home键

d . press("back")  # 点击back 键

d .press("up")  # 点击上键

d .press(""down")  # 点击下键

d .press(""center" )  # 点击选中

d .press("menu")  # 点击menu按键

d.press( ""search")  # 点击搜索按键

d .press( ""enter")  # 点击enter键

d.press(""delete")  # 点击删除按键

d. press( ""recent"')  # 点击近期活动按键

d. press( ""volume_up")  # 音量+

d.press( ""volume_down")  # 音量-

d . press(""volume_mute")  # 静音

d .press(""camera")  # 相机

d .press(""power")  # 电源键

单击屏幕:d .click(x,y)

双击屏幕:

d .double_click(x,y)  # 连续单击两次

d .double_click(x,y,0.1)  # 默认两次单击之间间隔时间0.1秒

长按:d . long_click(x,y,0.5)  # 长按0.5秒(默认)

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

拖动:d .drag(sx, sy,ex,ey,0.5)  # 拖动0.5秒(默认)

截图:d. screenshot( "home .jpg")

下拉打开通知栏:d.open_notification()

单击U对象

元素/text/id/xpath/等

根据元素单击:d(text="xxxx" ).click()

根据坐标单击:d.click(182,1264)

等待元素出现(最多等待10秒),出现后单击:d(text=""xxxx" ).click(timeout=10)

双击特定的UI对象:d(text=“xxx").double_click()

长按特定UI对象的中心:d(text="xxxx" ).long_click()

更多U2的常用命令和元素定位方式等操作可网上自行学习,这里推荐一个帖子:UIAutomator2 常用命令整理 - 简书 (jianshu.com)

ui2 的下载安装与环境配置等,见之前写的一篇帖子:https://www.cnblogs.com/gancuimian/p/16725664.html

python + UIAutomator2 公共方法封装,见之前写的一篇帖子:https://www.cnblogs.com/gancuimian/p/16948536.html

 

最新文章

  1. 接口--interface
  2. (三)kafka集群扩容后的topic分区迁移
  3. Win7下Event_Log服务4201错误的有效解决方法
  4. lightOJ 1366 Pair of Touching Circles(统计矩形内相切圆对)
  5. node.js动态调试
  6. hdu 1987-How many ways(dp)
  7. ListBox控件例子
  8. apt-get 安装路径
  9. DNS全局负载均衡(GSLB)基本原理
  10. PHP的json_encode()函数与JSON对象
  11. 海量交通大数据应用平台MTDAP_nchang的经验记录
  12. sitecore系列教程之Sitecore个性化-试点开始,测试,优化,增量
  13. SimpleVisitorMemberType类的visitClassType解读
  14. initializer element is not constant 问题
  15. Unity3D笔记 GUI 四、实现选项卡三
  16. 火币Huobi API Websocket
  17. sql 2005 代码导入excel数据
  18. PL/SQL开发中动态SQL的使用方法
  19. [JS]常用特效js插件
  20. 20155210潘滢昊 2016-2017-2《Java程序设计》第一周学习总结

热门文章

  1. 前端之Vue day 05 父子通信、ref、动态组件、插槽、计算监听属性
  2. tp5中接口,需要跨页面传送id时,不使用地址栏传送id,使用session保存。
  3. 多线程问题sleep与wait
  4. 2017GPLT
  5. 查找大文件-清理linux磁盘
  6. @Component类相互引用的加载顺序
  7. 修复右键批量打印PDF文件的功能
  8. Python 面试题整理
  9. centos7 python设置虚拟环境
  10. Java-对象 认识对象