学完前面的几节知识后,发觉uiautomator里面的方法并不能完全满足我们的要求,因此我们需要其他的东西来帮助我们解决问题

1.图片对比(当有些控件不能识别的时候,比如设置两次壁纸是否一样,我们就可以截图对比设置前后的图片是否一样来判断)

图片对比需要的库为aircv和cv2

使用pip install aircv

将cv2.pyd拷贝至site packages目录下

使用方法

import aircv

读取源文件  src=aircv.imread('test1.png')

读取搜索文件 sch=aircv.imread('test2.png')

对比相似度来判断 result=aircv.find_template(src,sch)

如果result返回值为None,说明图片相似度较低,反之会返回一个字典,我们可以通过confidence的值来判断图片的相似度,可以通过rectangle来获取相似点的坐标并进行后续操作

{'confidence': 0.9999995231628418, 'result': (97, 49), 'rectangle': ((59, 0), (59, 98), (136, 0), (136, 98))}

2.adb常用命令

利用adb实现长按电源键,音量键等操作

step1:先利用adb shell getevent来获取事件的值(需要注意的事,使用getevent时需要先关闭wifi、gps、蓝牙等)

step2:使用adb shell sendevent来模拟按键按下操作,如下为长按电源键

os.system('adb -s %s shell sendevent  /dev/input/event5 1 116 1' %self.deviceId)     各个设备获取的值可能不一样,需要注意的事是对应的值为16进制的值

os.system('adb -s %s shell sendevent  /dev/input/event5 0 0 0 ' %self.deviceId)

self.sleep(2)

os.system('adb -s %s shell sendevent  /dev/input/event5 1 116 0' %self.deviceId)

os.system('adb -s %s shell sendevent  /dev/input/event5 0 0 0 ' %self.deviceId)

利用adb结束进程

os.system('adb -s %s shell am force-stop com.android.incallui' %self.deviceId)

利用adb启动应用

os.system('adb -s %s shell am start %s' %(self.deviceId,activity))

利用adb截图

os.system('adb -s %s shell screencap /storage/sdcard0/errimg/%s' % (self.deviceId, errimgname))

利用adb拖文件

os.system('adb push srcfile srcfile')

利用adb 检测手机是否重启

runtimeget = os.popen('adb -s %s shell cat /proc/uptime'%self.deviceId)

利用adb查看是否有anr和tombstonees问题出现

anrFileListget = os.popen('adb -s %s shell ls /data/anr'%self.deviceId)

tombstoneFileListget = os.popen('adb -s %s shell ls /data/tombstones'%self.deviceId)

利用adb输入文字

os.system('adb -s %s shell input text %s'%(self.deviceId,content))

利用adb按键

os.system("adb -s %s shell input keyevent '%s'"%(self.deviceId,keycode))

利用adb滑动

os.system('adb -s %s shell input swipe %d %d %d %d %d'%(self.deviceId,x1,y1,x2,y2,time))

利用adb点击

os.system('adb -s %s shell input tap %d %d'%(self.deviceId,x,y))

如果有问题或者好的请加QQ群一起讨论

QQ群: 472527767

安卓自动化之uiautomator(python篇)常用adb及图片对比相关推荐

  1. python android自动化_2019最新某《安卓自动化测试入门》 Python篇

    这里我们采取用伴生容器的形式采集java日志 tomcat日志 1.部署一个configmap用来保存filebeat配置: [root@master yml_files]# cat filebeat ...

  2. 安卓自动化APP——Tasker

    文章目录 前言 一.软件介绍 软件特色 使用逻辑 注意事项 二.使用教程 配置文件(介绍几个难以理解的,下同) 任务 场景 备份功能 写在最后 前言 本文介绍另一款安卓手机自动化软件,名为Tasker ...

  3. uiautomator +python 安卓UI自动化尝试

    使用方法基本说明:https://www.cnblogs.com/mliangchen/p/5114149.html,https://blog.csdn.net/Eugene_3972/article ...

  4. 基于python + Appium的安卓自动化

    基于python + Appium的安卓自动化 最近要双11了,刷喵糖比较火,看到github上一个刷喵糖的项目testerzhang/taobaomiao.git,也成功跑起来了,顺便研究下了实现方 ...

  5. python安卓自动化实现方法_uiautomator +python 实现安卓UI自动化

    简单实例 注:安卓6.0以上的手机不会自动安装app-uiautomator.apk和app-uiautomator-test.apk,需要手动安装,否则报错ioerror RPC server no ...

  6. Appium+Python安卓自动化测试之启动APP和配置获取

    Appium+Python安卓自动化测试之启动APP和配置获取 本文章未讲述appium+python环境部署,环境部署会新开文章 一.手机连接电脑 1.USB连接电脑和手机,手机上点确认连接(最好用 ...

  7. python自动化办公:excel篇,从此做表不加班。

    表格讲解 表格格式 表格分为:工作簿,工作表,单元格 如图:整个文件就是一个工作簿,下面的 zhengjiang_power 和sheet1为工作表. xlrd +xlwt读写表格 因为电脑右键新建的 ...

  8. python自动化办公:文件篇(自动整理文件,一键完成)

    文件整理不得不先提一下正则表达式 送上链接: python :re模块基本用法 一.列出文件夹下的所有文件 用到的库os Python os.path() 模块 详解 附算例 os.walk()用法 ...

  9. python自动化办公:邮件篇 (定时邮件问候女票so easy)

    前言和准备工作 如果你能找到一个要看邮件的女票哈,本文能帮你用程序实现在每天不同时间段给女友定时给女友发消息,不错过早上,中午.晚安! 而你自己却可以玩游戏,不管这回事. 你告诉我看邮件的女生少,别着 ...

最新文章

  1. 不同的source control下配置DiffMerge
  2. SharePoint服务器如果需要安装杀毒软件, 需要注意什么?
  3. win7+ubuntu 13.04双系统安装方法
  4. SQL Server 装载 msxmlsql.dll 失败的解决办法
  5. GDCM:gdcm::Parser的测试程序
  6. uniapp对象怎么获取值_第65p,关于:生成器、迭代器与迭代对象(上)
  7. LinkedHashSet VS HashSet
  8. wamp php5.6 mysql5.6,WampServer 3.0.6 多语言版 集成apache2.4.23 mysql5.7.14 php5.6.25-7.0.10 穿墙书店...
  9. 用Java语言编写的特殊算法
  10. Inception 模型
  11. 【Caffe代码解析】SyncedMemory
  12. 阿里巴巴正式开源全球化OpenMessaging和ApsaraCache项目
  13. marlab中主成分得分怎么求_成考数学不可触碰的雷区和得分技巧(纯干货)
  14. leetCode 3,js解法
  15. java复杂逻辑如何设计_javabean如何实现复杂的业务逻辑
  16. 使用expdp导出数据
  17. Eclipse+Maven配置TestNG框架
  18. 【计算机网络】第三话·浅谈OSI和TCP/IP模型
  19. [macOS]_[初级]_[关于程序签名时出现User interaction is not allowed的问题]
  20. C语言学习开篇 对C语言和编程的认识

热门文章

  1. 计算机接口与通信教学大纲,接口与通信教学大纲.doc
  2. ajax省市联动案例,JQuery+Ajax制作省市联动
  3. 如何设置小程序页面各个部分的背景颜色?
  4. AI人工智能相面项目总结二,AI人脸识别接口的选择和根据人脸数据的测算
  5. 逆向分析pptv,利用python实现下载蓝光画质视频(Vip)
  6. ie 报 SCRIPT1002: 语法错误
  7. 中国移动将于3月31日发布2018年全年财报
  8. 梳理学习Kotlin,when表达式的用法
  9. 杜教筛(上):整除分块,积性函数,欧拉与莫比乌斯
  10. 【产品】如何选择智能锁,智能锁安全吗?