利用 Monkey 命令操作屏幕快速滑动

yipeiwu_com7年前Python基础

一、Monkey测试简介

Monkey测试是Android平台自动化测试的一种手段,通过Monkey程序模拟用户触摸屏幕、滑动Trackball、按键等操作来对设备上的程序进行压力测试,检测程序多久的时间会发生异常。

二、Monkey程序介绍

1) Monkey程序由Android系统自带,使用Java语言写成,在Android文件系统中的存放路径是:/system/framework/monkey.jar;

2) Monkey.jar程序是由一个名为“monkey”的Shell脚本来启动执行,shell脚本在Android文件系统中的存放路径是:/system/bin/monkey;这样就可以通过在CMD窗口中执行:adb shell monkey {+命令参数}来进行Monkey测试了。

列表中有 十几种 item,也有几种重型控件 无限滚动的水平 banner 和可以无限垂直滚动的类似淘宝头条的控件。担心会出现内存泄露或者其他问题,于是用 mokey 测试 快速滑动来发现隐藏问题。

运行

monkeyrunner fling.py

查看 android monitor 内存也都释放掉了

测试代码如下

代码如下 fling.py

#!/usr/bin/env monkeyrunner
import time
from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice
device = MonkeyRunner.waitForConnection(5)
# fling up
def scrollUpFling():
device.touch(100, 500, MonkeyDevice.DOWN)
device.touch(100, 100, MonkeyDevice.MOVE)
device.touch(100, 100, MonkeyDevice.UP)
print "fling up"
# fling down
def scrollDownFling():
device.touch(100, 400, MonkeyDevice.DOWN)
device.touch(100, 500, MonkeyDevice.MOVE)
device.touch(100, 500, MonkeyDevice.UP)
print "fling down"
def fling():
for i in range(1,1000):
scrollUpFling()
time.sleep(0.1)
scrollDownFling()
time.sleep(0.1)
fling()

以上所述是小编给大家介绍的利用 Monkey 命令操作屏幕快速滑动,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!

相关文章

pandas-resample按时间聚合实例

pandas-resample按时间聚合实例

如下所示: import pandas as pd #如果需要的话,需将df中的date列转为datetime df.date = pd.to_datetime(df.date,...

浅析Python中的多条件排序实现

浅析Python中的多条件排序实现

多条件排序及itemgetter的应用 曾经客户端的同事用as写一大堆代码来排序,在得知Python排序往往只需要一行,惊讶无比,遂对python产生浓厚的兴趣。 之前在做足球的积分榜的...

使用Python快速搭建HTTP服务和文件共享服务的实例讲解

使用Python快速搭建HTTP服务和文件共享服务的实例讲解

SimpleHTTPServer SimpleHTTPServer是Python自带的一个HTTP服务类,通过使用它,我们能够在任意平台(Window,Linux,MacOS)快速搭建一...

python使用selenium实现批量文件下载

python使用selenium实现批量文件下载

背景 实现需求:批量下载联想某型号的全部驱动程序。 一般在做网络爬虫的时候,都是保存网页信息为主,或者下载单个文件。当涉及到多文件批量下载的时候,由于下载所需时间不定,下载的文件名不定,...

用Anaconda安装本地python包的方法及路径问题(图文)

用Anaconda安装本地python包的方法及路径问题(图文)

Anaconda确实带来了很多方便,但是之前也过多的依赖了conda自带的一键下载python包的功能。这不,这几天突然要用FastFM这个包,无奈conda里没有,于是只能从githu...