专栏首页python3monkeyrunner入门例子(pyt

monkeyrunner入门例子(pyt

#!/usr/bin/env monkeyrunner # -*- coding: utf-8 -*- #导入python中自带的time模块和sys模块,脚本中都要用到它们。 import time import sys #MonkeyRunner自带的三个api from com.android.monkeyrunner import MonkeyRunner ,MonkeyDevice ,MonkeyImage #这个函数时确认年月日时分秒 now=time.strftime("%Y-%m-%d-%H-%M-%S") #指定我们要保存图片的位置和打印log的位置 path='D:\picture\' logpath="D:\log\" #python中获取当前运行的文件的名字 name=sys.argv[0].split("\\") filename=name[len(name)-1] #新建一个log文件 log=open(logpath+filename[0:-3]+"-log"+now+".txt",'w') #连接设备,两个参数分别是等待的时间(这里的时间都是秒为单位),设备的序列号。 device=MonkeyRunner.waitForConnection(5,'022AQQ7N39077347') #安装锤子便签apk。参数是apk文件的位置,因为python不支持中文输入,所以在后面用了.decode('utf-8')这个方法转码。 device.installPackage ('D:\\1.apk'.decode('utf-8')) #打印出操作信息到log文件里 log.write("安装apk……\n") #等待2秒 MonkeyRunner.sleep(2) #启动app,参数里是app的包名/活动名 device.startActivity(component='com.smartisan.notes/.NotesActivity') MonkeyRunner.sleep(2) #打印操作信息 log.write("启动app……\n") #截图 result = device.takeSnapshot() #保存截图  result.writeToFile(path+"主页面".decode('utf-8')+now+'.png','png') #点击搜索款的位置坐标。 device.touch(111,155,'DOWN_AND_UP') MonkeyRunner.sleep(2) #输入smartisan字样 device.type("smartisan") #截图 result1=device.takeSnapshot() #保存截图 result1.writeToFile(path+"搜索框截图".decode('utf-8')+'.png','png') #移动第一个便签的位置到最后面去,参数是:一个起始点坐标,一个终点坐标,移动的时间,移动的步骤 device.drag((232,235),(216,472),3,2) MonkeyRunner.sleep(3) #截图 result2=device.takeSnapshot() #保存截图 result2.writeToFile(path+"移动便签".decode('utf-8')+now+".png",'png') #第一个便签向右滑动 device.drag((109,360),(322,360)) MonkeyRunner.sleep(3) #截图 result3=device.takeSnapshot() #保存截图 result3.writeToFile(path+"右移动便签".decode('utf-8')+now+".png",'png') #点击最后一个便签的位置 device.touch(182,583,'DOWN_AND_UP') MonkeyRunner.sleep(5) #点击发送的位置 device.touch(324,73,'DOWN_AND_UP') MonkeyRunner.sleep(5) #点击发送至长微博的位置 device.touch(227,789,'DOWN_AND_UP') MonkeyRunner.sleep(5) #点击生成长微博的位置 device.touch(228,791,'DOWN_AND_UP') MonkeyRunner.sleep(5) #截图 result4=device.takeSnapshot() #保存图片 result4.writeToFile(path+"发长微博截图".decode("utf-8")+now+'.png','png') #点击下一步的位置 device.touch(426,81,'DOWN_AND_UP') MonkeyRunner.sleep(3) #截图 result5=device.takeSnapshot() #保存截图 result5.writeToFile(path+"输入微博账号".decode("utf-8")+now+'.png','png') #点击输入微博账号和密码的几个位置,分别输入账号和密码 device.touch(196,311,'DOWN_AND_UP') MonkeyRunner.sleep(3) device.type("powermo@126.com") MonkeyRunner.sleep(3) device.touch(168,378,'DOWN_AND_UP') MonkeyRunner.sleep(3) device.type("powermo1234") MonkeyRunner.sleep(3) #点击登录 device.touch(237,449,'DOWN_AND_UP') MonkeyRunner.sleep(3) #截图 result6=device.takeSnapshot() #保存截图 result6.writeToFile(path+"登陆微博".decode("utf-8")+now+'.png','png') #下面就开始对之前的截图进行对比了 #第一张截图做对比,去文件中找到我们要对比的图片 resultTrue=MonkeyRunner.loadImageFromFile('D:\\picture2\\shottrue.png') log.write("主页面对比图片……\n") #判断图片相识度是否是为90% if(result.sameAs(resultTrue,0.9)):     #在命令行打印出信息     print("主页面图片对比成功")     #打印信息到log文件     log.write("主页面图片对比成功……\n") else:     #打印信息到命令行     print("主页面图片对比失败")     log.write("主页面图片对比失败……\n") #去文件中找到我们规定的图片用来对比 result1True=MonkeyRunner.loadImageFromFile('D:\\picture2\\shottrue1.png') #判断图片相识度是否是为90% if(result1.sameAs(result1True,0.9)):     print("搜索框图片对比成功")     log.write("搜索框图片对比成功……\n") else:     print("搜索框图片对比失败")     log.write("搜索框图片对比失败……\n") #对移动便签图片对比 result2True=MonkeyRunner.loadImageFromFile('D:\\picture2\\shottrue2.png') ##判断图片相识度是否是为80% if(result2.sameAs(result2True,0.8)):     print("移动便签对比成功")     log.write("移动便签对比成功……\n") else:     print("移动便签图片对比失败")     log.write("移动便签对比失败……\n") #对移动便签图片进行对比,去文件中找我们规定的图片 result3True=MonkeyRunner.loadImageFromFile('D:\\picture2\\shottrue3.png') ##判断图片相识度是否是为80% if(result3.sameAs(result3True,0.8)):     print("右移便签图片对比成功")     log.write("右移便签图片对比成功……\n") else:     print("右移便签图片对比失败")     log.write("右移便签图片对比失败……\n") #对长微博图片对比 result4True=MonkeyRunner.loadImageFromFile('D:\\picture2\\shottrue4.png') if(result4.sameAs(result4True,0.8)):     print("发长微博图片对比成功")     log.write("发长微博图片对比成功……\n") else:     print("发长微博图片对比失败")     log.write("发长微博图片对比失败……\n") result5True=MonkeyRunner.loadImageFromFile('D:\\picture2\\shottrue5.png') if(result5.sameAs(result5True,0.8)):     print("输入微博账号图片对比成功")     log.write("输入微博账号图片对比成功……\n") else:     print("输入微博账号图片对比失败")     log.write("输入微博账号图片对比失败……\n") result6True=MonkeyRunner.loadImageFromFile('D:\\picture2\\shottrue6.png') if(result6.sameAs(result6True,0.8)):     print("登陆微博图片对比成功")     log.write("登陆微博图片对比成功……\n") else:     print("登陆微博图片对比失败")     log.write("登陆微博图片对比失败……\n")

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • python功能笔记——杂七杂八

    ×××复习阶段,无聊弄点东西玩一下,实现功能有(控制浏览器访问学校校历,截图保存下来,通过图片处理,最终将其设置为桌面):

    py3study
  • RabbitMQ消息队列

      RabbitMQ是一个在AMQP基础上完整的、可复用的企业消息系统,遵循Mozilla Public License开源协议。MQ全称Message Que...

    py3study
  • Apriori算法的python实现

    原始链接里的代码是在python2下写的,有的地方我看的不是太明白,在这里,我把它修改成能在python3下运行了,还加入了一些方便自己理解的注释。

    py3study
  • 解析SwiftUI布局细节(一)

    在前面的文章中谈了谈对SwiftUI的基本的认识,以及用我们最常见的TB+NA的方式搭建了一个很基本的场景来帮助认识了一下SwiftUI,具体的文章...

    Mr.RisingSun
  • 利用神经网络算法的C#手写数字识别

    尽管在过去几年已经有许多系统和分类算法被提出,但是手写识别任然是模式识别中的一项挑战。

    人工智能资讯小编
  • WannaCry 勒索病毒数据恢复指引

    受 WannaCry 勒索病毒影响,许多遭受攻击的电脑中的大部分文件被加密而被勒索要求支付比特币以进行解密文件。我们在13号媒体采访时提到,可使用数据恢复软件通...

    云鼎实验室
  • 【SPA大赛】移动app广告转化率预估算法优化思路及解决办法

    本次腾讯社交广告算法大赛以移动app广告转化率预估为背景,以移动App广告为研究对象,预测App广告点击后被激活的概率,即给定广告、用户和上下文情况下广告被点击...

    何颖
  • 干货-GitHub 使用中的一些细节

    第一次使用 github 的朋友相信都会挺陌生的,因为是纯英文的页面加上不适太熟悉内部的操作,所以一些常规的操作却找不到操作的入口,甚是捉急,本文就几个操作细节...

    進无尽
  • php中ini_set的函数修改php.ini的参数

    对于使用虚拟空间的站长来说,PHP的一些配置是很难更改的,不过PHP给我们提供一个ini_set函数,可以临时修改PHP配置文件php.ini的设置,无需打开此...

    C4rpeDime
  • 腾讯云视频云(点播&直播)产品双月刊(2020.9月&10月)

    主要优势:简单易用的新手指引,指引教程将向您展示如何轻松开始使用云点播,为您提供相关操作的引导

    腾讯云视频

扫码关注云+社区

领取腾讯云代金券