广告
返回顶部
首页 > 资讯 > 后端开发 > Python >monkeyrunner入门例子(pyt
  • 856
分享到

monkeyrunner入门例子(pyt

入门例子monkeyrunner 2023-01-31 05:01:51 856人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

#!/usr/bin/env monkeyrunner # -*- coding: utf-8 -*- #导入python中自带的time模块和sy

#!/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")

--结束END--

本文标题: monkeyrunner入门例子(pyt

本文链接: https://www.lsjlt.com/news/188759.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • monkeyrunner入门例子(pyt
    #!/usr/bin/env monkeyrunner # -*- coding: utf-8 -*- #导入python中自带的time模块和sy...
    99+
    2023-01-31
    入门 例子 monkeyrunner
  • Python3快速入门(十一)——Pyt
    一、mysql-connector 驱动 1、mysql-connector 简介 mysql-connector 是 MySQL 官方提供的驱动器。使用pipenv进行包管理,安装命令如下:pipenv install mysql-co...
    99+
    2023-01-31
    入门 快速 Pyt
  • SpringBoot MyBatis简单快速入门例子
    目录一、MyBatis简介二、MyBatis使用步骤一、MyBatis简介 MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除...
    99+
    2022-11-12
  • 5个Shell脚本编程入门练习例子
    例子一:绘制特殊图形 #!/bin/bash MAX_NO=0 echo -n "Enter Number between (5 to 9) : " read MAX_NO i...
    99+
    2022-06-04
    脚本 入门 例子
  • Python入门二(一个有趣的画图例子)
    画一条可爱的python(蟒蛇):import turtle#引入库函数turtle(画图的小乌龟)def drawSnake(rad, angle, len, neckrad):    for i in range(len):     ...
    99+
    2023-01-31
    画图 入门 例子
  • 基于Spring MVC 简介及入门小例子(推荐)
    一、什么是 Spring MVCSpring MVC 属于 SpringFrameWork 的后续产品,已经融合在 Spring Web Flow 里面,是一个强大灵活的 Web 框架。Spring MVC 提供了一个 Dispatcher...
    99+
    2023-05-31
    springmvc 入门 sprin
  • 带你入门Linux中size命令的6个例子
    前言 正如你所知道的那样,linux 中的目标文件或着说可执行文件由多个段组成(比如文本段和数据段)。若你想知道每个段的大小,那么确实存在这么一个命令行工具 —— 那就是 size。在本教程中,我们将会用几个简单易懂的案...
    99+
    2022-06-04
    linux size命令 linux size linux命令入门
  • SQL 入门教程:子查询
    目录一、利用子查询进行过滤请参阅 目录汇总:SQL 入门教程:面向萌新小白的零基础入门教程 SELECT 语句 是 SQL 的查询。我们迄今为止所看到的所有 SELECT 语句都是简单查询,即从单个数据库表中检索数据的单条语句。 ...
    99+
    2017-11-30
    SQL 入门教程:子查询
  • ExpressJS入门实例
    一、我们创建项目目录。 > md hello-world 二、进入此目录,定义项目配置文件package.json。 为了准确定义,可以使用命令: D:tmpnodehello-world>...
    99+
    2022-06-04
    实例 入门 ExpressJS
  • Python入门(案例)
    #一.上课案例: #输出hello wordprint('hello word') #python注释有两种#1.单行注释#这是单行注释#2.多行注释'''这是多行注释''' #python变量name='liuyong...
    99+
    2023-01-30
    入门 案例 Python
  • SpringMVC入门实例
    1介绍MVC框架是什么MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到...
    99+
    2023-05-30
    springmvc 入门 sprin
  • Spring Batch 入门示例
    目录1.Spring Batch框架工作原理2.示例概述3. Maven配置4. Spring Boot 配置5. 创建实体模型6. 配置 Spring Batch Job7. 处理...
    99+
    2022-11-12
  • hibernate+spring入门实例
    hibernate+spring基础整合入门*****************************************映射数据库表 Users.javapackage com.hs.bean;public class Users ...
    99+
    2023-06-03
  • drools入门案例分析
    今天小编给大家分享一下drools入门案例分析的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、背景最近在学习规则引擎dro...
    99+
    2023-06-30
  • HTML入门实例分析
    这篇文章主要介绍“HTML入门实例分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“HTML入门实例分析”文章能帮助大家解决问题。 HTML是英文Hyper Te...
    99+
    2022-10-19
  • SpringMVC入门实例分析
    今天小编给大家分享一下SpringMVC入门实例分析的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解...
    99+
    2022-10-19
  • Spring Security入门demo案例
    目录一、简介二、入门案例三、自定义认证逻辑四、自定义授权逻辑五、注销登录六、记住我功能七、会话管理一、简介 Spring Security是一个高度自定义的安全框架。利用Sprin...
    99+
    2022-11-12
  • Python3入门经典100例
    最近由于人工智能和编译原理实验,决定要学python3。不为别的,就是因为自己语言基础太差,现学现卖只能用python了。网上看了一圈python的例题,都只有python2的,于是自己决定把python2的例题,手写成python3。希...
    99+
    2023-01-31
    入门 经典
  • Elasticsearch入门实例分析
    这篇文章主要介绍“Elasticsearch入门实例分析”,在日常操作中,相信很多人在Elasticsearch入门实例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Elasticsearch入门实例分析...
    99+
    2023-06-05
  • SQL 入门教程:组合 WHERE 子句
    目录一、AND 操作符二、OR 操作符三、求值顺序请参阅 目录汇总:SQL 入门教程:面向萌新小白的零基础入门教程 使用 WHERE 子句 中介绍的所有 WHERE 子句在过滤数据时使用的都是单一的条件。为了进行更强的过滤...
    99+
    2018-08-24
    SQL 入门教程:组合 WHERE 子句
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作