1 #该demo为monkeyrunner测试安卓系统自带的计计算器
 2 #测试图片对比,测试EasyMonkeyDevice对象,一些他的元素操作
 3 #作者:Mads Spiral QQ:79523822 如有疑问留言或者加qq,验证wyx
 4 #coding=utf-8
 5 import sys
 6 import time
 7 from com.android.monkeyrunner import MonkeyRunner as mr
 8 from com.android.monkeyrunner import MonkeyDevice as md
 9 from com.android.monkeyrunner import MonkeyImage as mi
10 from com.android.chimpchat.hierarchyviewer import HierarchyViewer,ViewNode
11 from com.android.monkeyrunner.easy import EasyMonkeyDevice,By
12
13 #图片对比
14 def img():
15     result1 = device.takeSnapshot()
16     result1.writeToFile(path+"第一张截图".decode('utf-8')+now+'.png','png')
17     #点击了按钮7,105.514
18     device.touch(105,514,'DOWN_AND_UP')
19     #输入8
20     device.type("8")
21     #拖动,坐标开始到坐标结束,0.1为所用时间,1,从9(461.490)到7(63,493)
22     #device.drag((461.490),(63,493),0.1,1)
23     result2 = device.takeSnapshot()
24     result2.writeToFile(path+"第二张截图".decode('utf-8')+now+'.png','png')
25     if(result1.sameAs(result2,0.9)):
26         #这里需要help,为什么控制台显示为乱码,知道的朋友请留言
27         #str1="搜索框图片对比成功"
28         #str1.decode('unicode').encode('gb18030')
29         #print str1
30         print "img success"
31         log.write("搜索框图片对比成功\n”)
32     else:
33         #str2="搜索框图片对比失败"
34         #str2.decode('unicode').encode('gb18030')
35         #print str2
36         print "img falied"
37         log.write("搜索框图片对比失败”)
38     #如果要从文件夹读取指定的图片
39     #result=MonkeyRunner.loadImageFromFile('D:/picture2/demo.png')
40
41 '''测试EasyMonkeyDevice的一些方法,一些方法请看
42 http://blog.csdn.net/zhubaitian/article/details/39992597'''
43 def easyMonkeyDevice():
44     easydevice=EasyMonkeyDevice(device)
45
46 def easyMonkeyDevicetest():
47     mr.sleep(5.0)
48     #触摸,下面两句话可以合成一句话easydevice.touch(By.id("id/mul"),MonkeyDevice.DOWN_AND_UP)
49     DisagreeButton=By.id("id/digit9")
50     easydevice.touch(DisagreeButton,MonkeyDevice.DOWN_AND_UP)
51     #输入 easydevice.type(By.id(""),'new')
52     #是否存在 easydevice.exist(By.id("")),返回一个bool值
53     #是否可见 easydevice.visible(By.id(""))
54     #获取该id控件的文本 easydevice.getText(By.id(""))
55     #获取该id控件的坐标 easydevice.locate(By.id(""))
56
57 #HierarchyViewer和ViewNode,获取控件的width、height、坐标、文本
58 def hieview():
59     easyMonkeyDevice()
60     hv=easydevice.getHierarchyViewer()
61     hvid=hv.findViewById("com.android.calculator2:id/digit9")
62     print("Width: "+str(hvid.width))
63     print("Height: "+str(hvid.height))
64     hvview=hv.getAbsoluteCenterOfView(hvid)
65     print("vnT528dCoordinate1X: "+str(hvview.x))
66     print("vnT528dCoordinate1Y: "+str(hvview.y))
67     hvview2=hvT528d.getAbsolutePositionOfView(hvid)
68     print("vnT528dCoordinate2X: "+str(hvview2.x))
69     print("vnT528dCoordinate2Y: "+str(hvview2.y))
70
71
72 logpath='D:\\'
73 path='D:\\'
74 device=mr.waitForConnection()
75 if device:
76     print "connect device successed"
77     #若安装淘宝apk。参数是apk文件的位置,因为python不支持中文输入,所以在后面用了.decode('utf-8')这个方法转码。
78     #device.installPackage ('D:\\apk\\淘宝.apk'.decode('utf-8'))
79     now=time.strftime("%Y-%m-%d-%H-%M-%S")
80     log=open(logpath+"log"+now+".txt",'w')
81     activity='com.android.calculator2/com.android.calculator2.Calculator'
82     device.startActivity(activity)
83     mr.sleep(5.0)
84     #img()
85     easyMonkeyDevice()
86     easyMonkeyDevicetest()
87     hieview()
88
89 else:
90     print "connect device failed"

转载于:https://www.cnblogs.com/wyx123/articles/4189956.html

入门monkeyrunner7-monkeyrunner demo3 EasyMonkeyDevice+hierarchyviewer +monkeyrunner+截图对比相关推荐

  1. monkeyrunner java_Android性能测试工具MonkeyRunner使用指南

    1.MonkeyRunner介绍: Android的SDK中集成了三个可用来进行自动化测试的工具:Monkey.MonkeyRunner和Robotium.这三个测试工具都是基于黑盒测试. Monke ...

  2. python手机自动化截图_python UI自动化截图对比

    目前有个想法,就是将UI截图与自动化截图进行对比.不一致的情况下提示错误 截图对比方法有: import cv2 import numpy as np # 均值哈希算法 def aHash(img): ...

  3. Lattice系列FPGA入门相关0(Lattice与Altera、Xilinx对比及入门)

    需求说明:Lattice系统FPGA入门 内容       :Lattice与Altera.Xilinx对比 来自       :时间的诗 1.Lattice与Altera.Xilinx对比 latt ...

  4. monkeyrunner java_Android自动测试之monkeyrunner工具

    monkeyrunner工具 前言: 最近开始研究Android自动化测试方法,对其中的一些工具.方法和框架做了一些简单的整理,其中包括android测试框架.CTS.Monkey.Monkeyrun ...

  5. 【Mac电脑入门指南】苹果电脑如何设置截图默认保存位置?

    苹果电脑如何设置截图默认保存位置?我们都知道通过shift+command+3或者4可以在Mac系统中截图,截图完成后图片默认保存在桌面上,但如果截图较多的话桌面会变得非常凌乱.那么,我们如何设置Ma ...

  6. edtext 从右边开始输入 安卓_FreeRTOS 从入门到精通6--详解任务管理下(对比PLC,安卓)...

    接着上一讲 奔腾的心:FreeRTOS 从入门到精通5--详解任务管理上​zhuanlan.zhihu.com 在这一讲中我将要介绍任务的运行模式,同时与可编程控制器(PLC)以及安卓系统的运行模式进 ...

  7. .NET轻量级MVC框架:Nancy入门教程(二)——Nancy和MVC的简单对比

    在上一篇的.NET轻量级MVC框架:Nancy入门教程(一)--初识Nancy中,简单介绍了Nancy,并写了一个Hello,world.看到大家的评论,都在问Nancy的优势在哪里?和微软的MVC比 ...

  8. 免费视频存储平台(微云、百度网盘、谷歌硬盘、酷播云)的截图对比

    这个文章整理自2018年11月29日,主要是考虑的视频方面的存储平台,以下介绍了,腾讯的微云.百度网盘.谷歌云端硬盘.酷播云免费视频存储平台. 腾讯QQ的微云: 官网地址:https://www.we ...

  9. python模拟器 截图_在Linux中20个命令行终端模拟器截图对比

    终端模拟器是在一些其它显示结构内再现视频终端的计算机程序.换句话说,终端模拟器有能力使一个愚蠢的机器看起来像一个网络连接到服务器的客户端计算机.终端模拟器允许最终用户访问控制台及其应用程序,如文本用户 ...

最新文章

  1. TB级微服务海量日志监控平台
  2. android adb shell 命令大全
  3. CentOS-6.3安装配置SVN
  4. Jin Ge Jin Qu hao UVA - 12563 (劲歌金曲)01背包,求装入的东西最多(相同多时价值大)
  5. [转] 用Diff和Patch工具维护源码
  6. Protocol类型限制
  7. lambda List实现某列去重的解决方案采用扩展方法
  8. 细算经典网游私服新作下刀的“手术”
  9. matplotlib绘制李萨如图(四) 利用交互模式动态3D李萨如图
  10. 计算机 行列式,行列式计算器
  11. EFResume 一个普通的 Swift 简历模板
  12. 一键轻松去除抖音火山等短视频水印~
  13. 代理模式与委托模式的异同点
  14. 二十年后的回眸(3)——快乐的单身汉
  15. 杠杆炒股亏盈计算方法?
  16. 彻底消除电脑中的流氓软件与广告弹窗
  17. 基于TCP的网络对战象棋--python
  18. Arduino 光敏电阻
  19. 清华大学计算机音乐,清华大学2018年毕业歌《告别之前》发布!每个告别都等得到再见...
  20. rpm包制作之openssh8.7升级

热门文章

  1. php设置session 生命周期,设置session的生命周期(php)
  2. 在安卓手机上下载linux系统,如何在安卓手机上运行Ubuntu系统
  3. redhat挂载镜像软件包
  4. linux redis 启动用户,redis 进程使用root用户启动 -- 整改方案
  5. php游戏怎么设置fms,[FMS]FMS使用需要注意的几种问题总结说明
  6. idl文件生成java_IDL和生成代码分析
  7. esp8266 html文件,ESP8266 基ESP8266_RTOS_SDK (ESP-IDF )中嵌入网页文件(示例代码)
  8. 最全python爬虫库安装详解
  9. ccf 智能运维 裴丹_智能运维 聊一聊实时计算系统
  10. python回车键绑定按钮_python tkinter 绑定回车键