monkeyrunner常用脚本
Monkey脚本

Monkey脚本⼀、Monkey脚本主要包含两部分,⼀部分是头⽂件信息,⼀部分是具体的monkey命令。
⽂件格式如下: type = raw events count = 5 speed = 1.0 start data >> //下⾯为monkey命令⼆、monkey API LaunchActivity(pkg_name, cl_name):启动应⽤的Activity。
参数:包名和启动的Activity。
Tap(x, y, tapDuration):模拟⼀次⼿指单击事件。
参数:x,y为控件坐标,tapDuration为点击的持续时间,此参数可省略。
RotateScreen(rotationDegree, persist):旋转屏幕。
参数:rotationDegree为旋转⾓度, e.g. 1代表90度;persist表⽰旋转之后是否固定,0表⽰旋转后恢复,⾮0则表⽰固定不变。
DispatchFlip(true/false):打开或者关闭软键盘。
LongPress():长按2秒。
PressAndHold(x, y, pressDuration):模拟长按事件。
DispatchString(input):输⼊字符串。
Drag(xStart, yStart, xEnd, yEnd, stepCount):⽤于模拟⼀个拖拽操作。
PinchZoom(x1Start, y1Start, x1End, y1End, x2Start, y2Start, x2End, y2End, stepCount):模拟缩放⼿势。
UserWait(sleepTime):休眠⼀段时间 DeviceWakeUp():唤醒屏幕。
PowerLog(power_log_type, test_case_status):模拟电池电量信息。
WriteLog():将电池信息写⼊sd卡。
RunCmd(cmd):运⾏shell命令。
monkey常用命令详解

monkey常用命令详解monkey是一款常用的压力测试工具,用于模拟多个并发用户对系统进行压力测试。
本文将详细介绍monkey的常用命令及其功能。
1. monkey的基本命令monkey的基本命令是最常用的命令之一,它用于启动monkey的工作。
可以通过以下命令来启动monkey:```adb shell monkey [options] <event-count>```其中,`event-count`表示要执行的事件数量,可以根据需要进行调整。
而`options`是一些可选参数,用于指定monkey的具体行为。
2. monkey的事件类型在monkey中,有许多不同类型的事件可以执行。
以下是一些常见的事件类型及其对应的命令:- 点击事件(Tap):用于模拟用户点击屏幕上的某个位置,可以使用`--pct-touch`参数指定触摸事件的百分比。
```adb shell monkey --pct-touch <percentage> <event-count>```- 滑动事件(Swipe):用于模拟用户滑动屏幕的操作,可以使用`--pct-motion`参数指定滑动事件的百分比。
```adb shell monkey --pct-motion <percentage> <event-count>```- 按键事件(Key):用于模拟用户按键的操作,可以使用`--pct-keyevent`参数指定按键事件的百分比。
```adb shell monkey --pct-keyevent <percentage> <event-count>```- 启动应用(Launch):用于模拟用户启动应用的操作,可以使用`--pct-appswitch`参数指定启动应用的百分比。
```adb shell monkey --pct-appswitch <percentage> <event-count>```3. monkey的其他常用命令除了基本命令和事件类型外,monkey还提供了一些其他常用的命令,用于进一步控制monkey的行为。
油猴脚本大全

油猴脚本大全油猴脚本是一种可以在浏览器上运行的用户脚本管理器,它可以让用户在网页上添加自定义脚本,以实现个性化定制和功能增强。
在本文档中,我们将介绍一些常用的油猴脚本,帮助您更好地了解和使用这一功能强大的工具。
1. 广告屏蔽脚本。
广告屏蔽脚本是油猴脚本中最常见的一种,它可以帮助用户屏蔽网页中的广告内容,提升浏览体验。
通过安装这类脚本,用户可以在浏览网页时不受到广告的干扰,专注于阅读和浏览内容。
2. 视频下载脚本。
视频下载脚本可以帮助用户在浏览网页时轻松下载在线视频,方便用户在无网络环境下观看。
这类脚本通常会在视频播放页面上添加下载按钮或者菜单,用户可以通过点击按钮或者菜单来下载他们所需要的视频内容。
3. 自动签到脚本。
许多网站都提供了每日签到的功能,通过安装自动签到脚本,用户可以实现自动签到,免去了手动签到的麻烦。
这类脚本通常会在用户访问网站时自动执行签到操作,用户无需手动操作即可完成签到。
4. 界面美化脚本。
界面美化脚本可以帮助用户美化网页的界面,改变网页的颜色、字体、布局等,提升用户的视觉体验。
通过安装这类脚本,用户可以根据自己的喜好来定制网页的外观,让浏览更加舒适。
5. 快捷操作脚本。
快捷操作脚本可以帮助用户实现一些网页操作的快捷方式,比如快速搜索、快速复制粘贴等。
这类脚本通常会在浏览器中添加一些快捷键或者菜单,用户可以通过快捷键或者菜单来快速完成一些常用操作。
6. 数据统计脚本。
数据统计脚本可以帮助用户对网页上的数据进行统计分析,比如网站访问量、用户行为等。
通过安装这类脚本,用户可以获取更多的数据信息,帮助他们更好地了解网页的使用情况。
7. 安全防护脚本。
安全防护脚本可以帮助用户提升网页浏览的安全性,防止恶意网站攻击和信息泄露。
这类脚本通常会对用户的浏览行为进行监控和过滤,保护用户的隐私和安全。
总结。
油猴脚本是一种强大的浏览器扩展工具,通过安装不同类型的脚本,用户可以实现对网页的个性化定制和功能增强。
monkeyRunner教程

Android自动测试之monkeyrunner工具monkeyrunner工具前言:最近开始研究Android自动化测试方法,对其中的一些工具、方法和框架做了一些简单的整理,其中包括android测试框架、CTS、Monkey、Monkeyrunner、benchmark、其它test tool 等等。
因接触时间很短,很多地方有不足之处,希望能和大家多多交流。
一、什么是monkeyrunnermonkeyrunner工具提供了一个API,使用此API写出的程序可以在Android代码之外控制Android设备和模拟器。
通过monkeyrunner,您可以写出一个Python程序去安装一个Android应用程序或测试包,运行它,向它发送模拟击键,截取它的用户界面图片,并将截图存储于工作站上。
monkeyrunner工具的主要设计目的是用于测试功能/框架水平上的应用程序和设备,或用于运行单元测试套件,但您当然也可以将其用于其它目的。
二、monkeyrunner工具同Monkey工具的差别Monkey:Monkey工具直接运行在设备或模拟器的adb shell中,生成用户或系统的伪随机事件流。
monkeyrunner:monkeyrunner工具则是在工作站上通过API定义的特定命令和事件控制设备或模拟器。
三、monkeyrunner的测试类型1、多设备控制:monkeyrunner API可以跨多个设备或模拟器实施测试套件。
您可以在同一时间接上所有的设备或一次启动全部模拟器(或统统一起),依据程序依次连接到每一个,然后运行一个或多个测试。
您也可以用程序启动一个配置好的模拟器,运行一个或多个测试,然后关闭模拟器。
2、功能测试:monkeyrunner可以为一个应用自动贯彻一次功能测试。
您提供按键或触摸事件的输入数值,然后观察输出结果的截屏。
3、回归测试:monkeyrunner可以运行某个应用,并将其结果截屏与既定已知正确的结果截屏相比较,以此测试应用的稳定性。
Monkeyrunner使用方法和实例

目前android SDK里自带的现成的测试工具有monkey 和monkeyrunner两个。
大家别看这俩兄弟名字相像,但其实是完完全全不同的两个工具,应用在不同的测试领域。
总的来说,monkey主要应用在压力和可靠性测试上,运行该命令可以随机地向目标程序发送各种模拟键盘事件流,并且可以自己定义发送的次数,以此观察被测应用程序的稳定性和可靠性,应用起来也比较简单,记住那几个命令就行了。
而monkeyrunner呢,相比之下会强大一些,它主要可应用于功能测试,回归测试,并且可以自定义测试扩展,灵活性较强,并且测试人员可以完全控制。
本篇乃本人学习monkeyrunner时笔记,查看网络中的资料并经本人测试而出,由于本人刚接触,所以本篇内容不免肤浅,高手们请绕走~在测试本人以下实例时,请自行搭建Android环境。
一、打开模拟器运行monkeyrunner之前必须先运行相应的模拟器,不然monkeyrunner无法连接设备。
用Elipse打开Android模拟器或在CMD中用Android命令打开模拟器。
这里重点讲一下在CMD中用Android命令打开模拟器命令:emulator -avd test(注意:test为虚拟设备的名称——AVD的全称为:Android Virtual Device,就是Android运行的虚拟设备,如下图所示:)上面命令中的test是模拟器名称。
使用时需要改成实际名字。
如果正常,模拟器应该可以启动起来了。
如果执行的结果出现以下错误内容:[plain]view plaincopy1.PANIC: Could not open: C:\Documents and Settings\sAdministrator\.android/avd/test.ini如下图所示:原因在于你的环境变量缺少配置。
请在“系统变量”中添加“ANDROID_SDK_HOME”,设置其值为“C:\Documents and Settings\Administrator”(注意:这里的值不能为C:\Documents and Settings\Administrator\.android),如下图所示:确定后,关闭CMD窗口,重新打开CMD。
油猴防止屏幕关闭句子

油猴防止屏幕关闭句子
要防止屏幕关闭,你可以使用油猴(Tampermonkey)脚本来实现。
油猴是一款用户脚本管理器插件,可以在网页上运行自定义的JavaScript脚本。
通过编写脚本,你可以控制网页的行为,包括防止屏幕关闭。
首先,你需要安装油猴插件到你的浏览器中。
安装完成后,你可以点击油猴的图标,选择“创建新脚本”来编写你的JavaScript 脚本。
在脚本中,你可以使用以下代码来防止屏幕关闭:
javascript.
window.setInterval(function() {。
// 每隔一段时间执行一次操作,防止屏幕关闭。
// 例如,可以模拟对页面的交互操作,比如移动鼠标或者按键盘。
}, 30000); // 30秒执行一次操作。
这段代码使用了`window.setInterval`函数来定时执行一个操作,从而防止屏幕关闭。
你可以根据自己的需求调整执行的时间间隔。
另外,你还可以使用`window.requestAnimationFrame`函数来实现动画效果,从而防止屏幕关闭。
这样做可以让浏览器认为页面正在进行交互,从而阻止屏幕关闭。
总的来说,通过油猴脚本,你可以利用JavaScript来防止屏幕关闭,让页面保持活跃状态。
希望以上信息能够帮助到你。
Monkey和Monkeyrunner

心得:Monkey :(压力测试,也就是极限性测试)不断发送伪随机事件,赋予adb 包操作;但缺点是不能自定义事件,扩展性不高。
Monkeyrunner:(功能测试,针对一次性操作)可自定义事件,扩展性高;缺点:暂时不支持中文输入;不适合处理连续的操作,一旦进入应用程,因为drag方法不稳定,跳转就需要用按钮来代替,这样无法模拟用户真实的操作。
UI一但改变,脚本无法使用。
因为基于UI的测试,对所有测试系统的稳定性要求比较高,如果系统或者软件非常容易崩溃,就会终端测试脚本,无法自动化。
在百度寻找资料时,曾看到有人这样比喻两者的区别,说:其实两者除了名称上差不多以外,根本就是两个不同的测试工具;Monkey是运行在设备或模拟器的adb shell 中生成或系统的伪随机事件,而monkeyrunner是在工作站上通过API定义的特定命令和事件控制设备或模拟器;Monkey测试,可针对全局,也可局部,执行简单,效果明显;monkeyrunner配置分为四大类:1.基本配置选项,如设置尝试的事件数量;2.运行约束选项,如设置只对单独的一个包进行测试;3.事件类型和频率;4.调试选项也有人说monkey就像孩子一样什么复杂事情都做不了,只能做简单的事情。
接下来我会记录monkey和monkeyrunner基本使用脚本Monkey1.进入cmd 命令2.cd sdk存放adb路径3.输入sdk\adb存放盘符4.adb shell monkey –p(设置包名,不设置为默认) com.luckir.homevwapp –v(默认保存信息) 500 (发送事件数量)5.回车就能执行了MonkeyRunner模拟器连接1.进入cmd 命令2.cd sdk\tool路径3.输入sdk\tool存放盘符4.Monkeyrunner5.进入shell命令6.#导入monkeyrunner 自带的三个类注:‘#’如同注释,不执行;区分大小写from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice,MonkeyImage#连接模拟器设备device = MonkeyRunner.waitForConneciton()#安装apk 注:/ 杠隔开,\杠会报错, 如果已安装可省略此步device.installPackage(‘apk存放路径+.apk’)#进入软件首页,(定义一个Activity事件)#(左边是运行软件名称/右边是软件名称.包名称)device.startActivity(‘com.luckir.homevwapp/com.luckir.homevwapp.Login’)#device.press 的两种方式(出现两种方式是因为后面的版本陆续添加了EasyMonkeyDevice类的原因,后面会讲到此类使用方法及说明#第一种是获取android系统自带控件的事件# 点击OK按钮,注:格式:‘前’随机,‘后’固定device.press(‘KEYCODE_DPAD_CENTER’, ‘DOWN_AND_UP’)#向右按钮device.press(‘KEYCODE_DPAD_RIGHT’,‘DOWN_AND_UP’) # 等(其它事件可在网上搜索查到)#第二种获取软件点击事件,格式如上一样#触摸点击OK按钮device.press(‘KEYCODE_DPAD_CENTER’,MonkeyDevice.DOWN_AND_UP) #触摸点击向右device.press(‘KEYCODE_DPAD_RIGHT’,MonkeyDevice.DOWN_AND_UP)手机连接手机连接只需更改连接设备方式,其它如上面一样#连接手机设备device = MonkeyRunner.waitForConnection(5,‘手机名’)//root过的手机才能执行#手机名获取方式1.如上所示进入adb 环境2.adb devices3.就可以看到如图所示:红圈显示的就是手机名(注:连接时,模拟器和手机缺一不可)EasyMonkeyDevice先下载ase.apk 文件,用adb 安装到模拟器或设备中EasyMonkeyDevice(emd) 类也是android自带类,此类的用法是获取ID来进行操作,此类是用在monkeyrunner 中。
monkey基本命令

monkey基本命令Monkey是一种测试工具,被广泛用于自动化测试领域。
它可以模拟用户的操作,例如点击、滑动、输入等,以测试移动应用程序的稳定性和性能。
本文将介绍Monkey的基本命令及其使用方法,帮助读者了解如何使用Monkey进行自动化测试。
Monkey是Android平台上的一种命令行工具,可以通过ADB (Android Debug Bridge)连接到设备或模拟器,并模拟用户操作。
Monkey的基本命令是"adb shell monkey",其后可以跟上一系列参数来指定测试的次数、包名、事件百分比等。
下面将详细介绍一些常用的Monkey命令。
1. 基本命令- "adb shell monkey -p -v 500":这条命令表示以包名为""的应用为测试对象,执行500个事件。
- "adb shell monkey -p -v -v -v 500":通过增加"-v"参数的数量,可以增加输出的详细程度。
2. 事件百分比Monkey的事件百分比参数可以用来指定不同类型事件的触发概率。
例如,"-pct-touch"表示触摸事件的百分比,"-pct-motion"表示滑动事件的百分比,"-pct-trackball"表示轨迹球事件的百分比,"-pct-nav"表示导航事件的百分比,"-pct-majornav"表示重要导航事件的百分比,"-pct-syskeys"表示系统按键事件的百分比,"-pct-appswitch"表示应用切换事件的百分比,"-pct-anyevent"表示任意事件的百分比。
3. 包名过滤如果只想对某个特定的应用进行测试,可以使用"-p "参数来指定应用的包名。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Android自动化测试之monkeyrunner
1. #导入模块;
from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice, MonkeyImage
2. #连接当前设备,并返回一个MonkeyDevice对象;
device = MonkeyRunner.waitForConnection()
if not device:
print "Please connect a device to start!"
else:
print "Start "
3. #安装Android包,注意,此方法返回的返回值为boolean,由此可以判断安装过程是否正常;
device.installPackage('myproject/bin/MyApplication.apk')
device.removePackage ('com.example.android.notepad')
print ('卸载成功')
device.installPackage('ApiDemos.apk')
print ('安装成功')
4. #启动一个Activity;
device.startActivity
(component='com.android.htccontacts/com.android.htccontacts.ContactsTabActivity')
5. #截图;
result = device.takeSnapshot()
result.writeToFile('C:\\Users\\Martin\\Desktop\\test.png','png')
6. #时延(秒);
MonkeyRunner.sleep(3)
7. #滑动屏幕;
for i in range(1,70):
device.drag((250,850),(250,110),0.1,10)
//开始,结束,持续时间,步骤
for i in range(1,70):
device.drag((250,110),(250,850),0.1,10)
MonkeyRunner.sleep(1)
8. #触击屏幕;
device.touch(507,72,"DOWN_AND_UP")
9. #执行adb shell命令;
device.shell("input text goup01")
按下HOME键 device.press('KEYCODE_HOME','DOWN_AND_UP')
按下BACK键 device.press('KEYCODE_BACK','DOWN_AND_UP')
按下下导航键 device.press('KEYCODE_DPAD_DOWN','DOWN_AND_UP')
按下上导航键 device.press('KEYCODE_DPAD_UP','DOWN_AND_UP')
按下OK键
device.press('KEYCODE_DPAD_CENTER','DOWN_AND_UP')
相应的按键对应的名称如下:
home键:KEYCODE_HOME
back键:KEYCODE_BACK
send键:KEYCODE_CALL
end键:KEYCODE_ENDCALL
上导航键:KEYCODE_DPAD_UP
下导航键:KEYCODE_DPAD_DOWN
左导航:KEYCODE_DPAD_LEFT
右导航键:KEYCODE_DPAD_RIGHT
ok键:KEYCODE_DPAD_CENTER
上音量键:KEYCODE_VOLUME_UP
下音量键:KEYCODE_VOLUME_DOWN power键:KEYCODE_POWER
camera键:KEYCODE_CAMERA
menu键:KEYCODE_MENU。