关于使用Monkey运行脚本测试

合集下载

monkey的使用

monkey的使用

monkey的使用以Monkey的使用为标题,我将为大家介绍一款功能强大的自动化测试工具——Monkey。

一、什么是Monkey?Monkey是一款由Google开发的自动化测试工具,主要用于测试Android应用程序的稳定性和性能。

它可以模拟用户在设备上的随机操作,如点击、滑动、手势等,以此来检测应用程序在不同场景下的稳定性和可靠性。

二、为什么选择Monkey?1.全面性能测试:Monkey可以模拟各种用户操作,随机生成事件序列,对应用程序进行全面性能测试。

通过对应用程序进行长时间、大量的随机操作,可以发现潜在的问题和性能瓶颈。

2.易于集成:Monkey可以与其他测试工具和框架进行集成,如JUnit、Robotium等。

通过与其他工具的结合,可以更加灵活地进行自动化测试,提高测试效率。

3.快速反馈:Monkey可以在短时间内生成大量的测试数据,快速发现应用程序中的问题。

这样可以及早发现和修复bug,提高应用程序的质量。

三、如何使用Monkey?1.安装Monkey:首先需要安装Android SDK,并将adb工具添加到系统环境变量中。

然后通过adb命令将Monkey安装到设备上。

2.编写Monkey脚本:Monkey的测试用例是通过一系列的命令行参数来控制的。

可以通过编写一个脚本文件,将这些参数进行组合,以实现特定的测试场景。

3.运行Monkey:通过adb命令启动Monkey,将脚本文件作为参数传入。

Monkey将根据脚本文件中的定义,模拟用户的随机操作。

四、Monkey的使用场景1.稳定性测试:Monkey可以通过模拟用户的随机操作,对应用程序进行长时间的稳定性测试。

这对于测试应用程序的内存泄漏、ANR(Application Not Responding)等问题非常有帮助。

2.压力测试:Monkey可以通过模拟大量的用户操作,测试应用程序在高负载情况下的稳定性和性能。

这对于评估应用程序在用户访问量增加时的表现非常重要。

monkey测试标准

monkey测试标准

Monkey测试是一种通过向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等)来对应用程序客户端进行稳定性测试的方法。

其标准如下:
1.测试目的:验证APP的稳定性以及是否会在各种异常场景下出现未知的错误和异常。

2.测试方法:使用Google原生的Monkey测试框架,执行指定参数的测试,并记录运行日志和报
错日志。

3.测试指令:通过adb shell命令执行Monkey测试,并可以指定一系列参数进行更精细的测试。

例如:adb shell monkey -p 包名--pct-touch 16 --pct-motion 16 --pct-trackball 16 --pct-majornav 16 --pct-appswitch 16 --pct-nav 16 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --kill-process-after-error -v -v -v --throttle 500 9999999 -s 123456。

4.判定标准:关注各种指标,如ANR、CRASH、OOM、Error、Exception、GC等,并根据实
际需求制定相应的通过标准。

此外,Monkey测试的标准可能因应用场景、设备类型和特定需求而有所不同,因此在实际应用中可能需要根据具体情况进行微调。

建议参考行业内的最佳实践或专业机构的指南来完善标准,以提供更加准确和可靠的结果。

Monkey测试方法总结

Monkey测试方法总结

Monkey测试方法总结Monkey测试是一种随机化黑盒测试方法,它可以在不考虑内部结构和逻辑关系的情况下,对软件系统进行广泛的、自动化的测试。

通过模拟用户的随机操作,如点击、滑动、输入等,来发现潜在的程序错误和系统缺陷。

本文将从Monkey测试的原理、优点、缺点、测试方法及应用场景等方面进行详细介绍。

一、Monkey测试的原理Monkey测试是基于随机触发事件的方法,它的原理是模拟用户的操作行为,通过随机化的方式触发应用程序中的事件,如点击、滑动、输入等,以此来测试系统的稳定性和可靠性。

在Monkey测试中,测试工具会生成随机数,并按照一定的概率分布来触发各种事件,以覆盖尽可能多的应用场景和操作路径。

通过不断地随机触发事件,可以发现潜在的软件缺陷和系统错误,提高软件的稳定性和可靠性。

二、Monkey测试的优点1.自动化:Monkey测试是一种完全自动化的测试方法,测试工具可以自动生成随机事件,并按照一定的概率分布触发,大大减少了测试人员的工作量。

2.广泛性:Monkey测试可以通过随机触发事件来覆盖尽可能多的应用场景和操作路径,从而发现潜在的软件缺陷和系统错误。

3.快速性:Monkey测试可以在较短的时间内完成测试,提高了测试效率。

4.全面性:Monkey测试可以对整个系统进行测试,包括应用程序、系统服务和硬件设备等。

5.可重复性:Monkey测试可以通过设置种子数来保证测试结果的可重复性,便于后续的调试和分析。

三、Monkey测试的缺点1.未考虑内部结构和逻辑关系:Monkey测试只模拟用户的随机操作,未考虑应用程序的内部结构和逻辑关系,可能无法发现与具体业务逻辑相关的错误。

2.无需提供测试用例:Monkey测试是一种黑盒测试方法,不需要提供具体的测试用例,但有时可能无法确保测试数据的完整性和正确性。

3.随机性可能导致测试结果不准确:由于Monkey测试是基于随机触发事件的方法,测试结果具有一定的偶然性,可能无法全面覆盖系统的所有功能和路径。

monkey_使用_脚本编写

monkey_使用_脚本编写

monkey_使⽤_脚本编写⼀、获取启动包的 activity有apk的情况下> appt dum badging [包位置]如果已安装> adb shell dumpsys package com.elzj.camera >e:/elzj.txt⼆、脚本1、⾃定义脚本的稳定性测试常规Monkey测试执⾏的是随机的事件流,但如果只是想让Monkey测试某个特定场景这时候就需要⽤到⾃定义脚本了,Monkey⽀持执⾏⽤户⾃定义脚本的测试,⽤户只需要按照Monkey脚本的规范编写好脚本,存放到⼿机上,启动Monkey通过-f 参数调⽤脚本即可。

2、需求分析从⽤户⾓度来思考步骤该怎样进⾏?要操作的元素该如何定位?怎样将操作步骤转化为测试脚本?3、获取元素坐标点位置Monkey脚本只能通过坐标的⽅式来定位点击和移动事件的屏幕位置,这⾥就需要提前获取坐标信息。

获取坐标信息的⽅法很多,最简单的⽅法就是打开⼿机中的开发⼈员选项,打开“显⽰指针位置”。

随后,在屏幕上的每次操作,在导航栏上都会显⽰坐标信息。

4、monkey脚本API简介LaunchActivity(pkg_name, cl_name):启动应⽤的Activity。

参数:包名和启动的Activity。

Tap(x, y, tapDuration):模拟⼀次⼿指单击事件。

参数:x,y为控件坐标,tapDuration为点击的持续时间,此参数可省略。

DispatchPress(keyName):按键。

参数: keycode。

详细的Android Keycode列表:/feizhixuan46789/article/details/16801429RotateScreen(rotationDegree, persist):旋转屏幕。

参数:rotationDegree为旋转⾓度, e.g. 1代表90度;persist表⽰旋转之后是否固定,0表⽰旋转后恢复,⾮0则表⽰固定不变。

monkey测试方法

monkey测试方法

monkey测试⽅法
1、Monkey测试原理:
Monkey是Android中的⼀个命令⾏⼯具,可以运⾏在模拟器⾥或实际设备中。

它向系统发送伪随机的⽤户事件流(如按键输⼊、触摸屏输⼊、⼿势输⼊等),实现对正在开发的应⽤程序进⾏压⼒测试。

Monkey测试是⼀种为了测试软件的稳定性、健壮性的快速有效的⽅法。

2、monkey常见命令:
adb shell monkey {+命令参数} 次数
adb shell monkey -help/-h
3、解析:
adb shell monkey –v –v –v –p 包名 –s 200 --throttle 1000 --ignore-crashes --ignore-timeouts 10000
-v:⽤于指定反馈信息级别,即⽇志的详细程度,总共有三个级别
-p:后边接着对应的包名,如果是整机测试,就不需要,⽤此参数指定⼀个或多个包(package,即APP名字)
-s:seed值,如果seed值相同,则两次的随机事件相同,常⽤于问题重现
--throttle <毫秒>:⽤于指定⽤户(即事件间)的时间延迟,单位是毫秒
--ignore-crashes --ignore-timeouts:在monkey测试过程中,遇到crash或者timeout的情况时忽略,⼀般不设置时,出现crash或者timeout时,monkey测试会终⽌,这⾥是防⽌monkey测试终⽌。

10000:随机事件次数
4、终⽌进程:
adb shell
ps | grep monkey
kill -9 pid。

monkey测试方法

monkey测试方法

Monkey测试前的准备工作:1.准备一张存储空间足够的SD卡,以防log被写满,并拷贝一些图片,MP3,视频文件等2.设置屏幕延时为最大值(settings->Display->Screen timeout->30 minutes or never)3.打开USB调试模式,确保adb可以连接4.使用ENG版本,且移除第三方应用及GMS(Google mobile service)应用包5.执行monkey测试前,一定要确保屏幕解锁6.测试前清除历史LOG7.全程完整录制MTKLogger,并且抓取adb log8.如出现anr,需要抓取/data/anr目录9.记录发生问题的时间点(条件允许的前提下)10.测试高耗掉的模块时,请使用满电的电池进行测试(如camera/gallery,call等)11.准备一张sim卡,插入手机(在测试通话,信息,联系人等模块可能会用到)。

Monkey测试命令:1.对单独模块进行monkey测试:adb shell monkey –v -v –p 模块的包名–-throttle 500 3000002.对整机进行monkey测试:adb shell monkey -s 6516 --throttle 200 --ignore-security-exceptions -v 3000000 Monkey测试结果的判断:1.Monkey测试结果为pass的,LOG信息最后一行会有Monkey finished的字样。

2.Monkey测试结果为fail的,有以下两种情况:A.LOG的最后会有以下提示字样,表示此次monkey测试fail,提供所有log给开发。

如:** Monkey aborted due to error.Events injected: 37511:Sending rotation degree=0, persist=false:Dropped: keys=0 pointers=24 trackballs=0 flips=0 rotations=0## Network stats: elapsed time=4508008ms (0ms mobile, 0ms wifi, 4508008ms not connected)** System appears to have crashed at event 37511 of 300000 using seed 1358091994830B.LOG中无A情况中的错误信息提示,也无Monkey finished字样,但monkey 测试已中断,该问题仍定位为monkey测试fail,需要给开发提供所有的LOG,开发查找calendar_time关键字去定位问题。

monkey性能测试

monkey性能测试

关于monkey 测试
一、adb的安装过程:
a.首先找到adb存放的目录,并且找到安装的路径。

例如我的adb的路径E:\android_chanjian\
android-sdk-windows\platform-tools
b.然后配置环境变量:右键单击”我的电脑“->属性->高级系统
设置->环境变量->系统变量->path->;E:\android_chanjian\
android-sdk-windows\platform-tools(adb的存放的路径)
二、运行monkey测试。

(1.)adb devices(检测设备是否存在)
Adb remount(重新挂起设备)
(2.)adb shell
进入adb的shell目录
(3.)#cd /data/data
(4.)#ls(此时可以看见许多已经安装的文件了)
(5.)在此进入命令行”cmd”,然后输入:
Adb shell monkey -p ***(包名称) -v 2000000(二百万次)
> E:\文件夹名\*****(包名称).log
此时就可以是实现monkey测试了(测试硬件的性能)。

注释:以下是杨兴达同学分给我的文档,以备对比。

cmd 进入终端命令行:
adb shell 提示框为
root@android:/#
②输入cd /data/data
进入到该设备的安装目录
然后ls 显示已经安装的应用程序
③另起一个CMD命令行
adb shell monkey -p com.android.camera -v 2000000 > D:\1.log。

monkey的使用

monkey的使用

monkey的使用【原创实用版】目录1.Monkey 简介2.Monkey 的基本使用方法3.Monkey 的高级功能4.Monkey 的实际应用案例5.Monkey 的优缺点正文1.Monkey 简介Monkey 是一个开源的 Android 应用程序自动化测试工具,它可以帮助开发者快速编写和运行应用程序的自动化测试。

Monkey 可以在真实的Android 设备或模拟器上运行,并能够随机生成测试数据,从而有效地检测应用程序的稳定性和性能。

2.Monkey 的基本使用方法要开始使用 Monkey,首先需要在 Android 项目中添加 Monkey 的依赖。

然后,编写一个或多个测试脚本,这些脚本可以描述应用程序的各个功能模块。

接着,在命令行中运行"monkey"命令,指定要运行的测试脚本。

Monkey 会自动打开应用程序,并按照测试脚本的描述运行测试。

3.Monkey 的高级功能除了基本的自动化测试功能外,Monkey 还提供了许多高级功能,如:- 随机测试数据生成:Monkey 可以根据测试脚本的描述,随机生成各种测试数据,从而有效地检测应用程序的性能和稳定性。

- 测试结果分析:Monkey 可以生成详细的测试结果报告,包括每个测试用例的执行情况,以及应用程序的性能指标。

- 强大的命令行工具:Monkey 提供了丰富的命令行选项,可以方便地控制测试的执行,查看测试结果,以及进行其他相关操作。

4.Monkey 的实际应用案例例如,假设有一个电子商务应用程序,需要测试其购物车功能。

可以使用 Monkey 编写一个测试脚本,描述添加商品、修改数量、移除商品、结算等操作。

然后,运行 Monkey,它会自动打开应用程序,并按照测试脚本的描述运行测试。

如果测试过程中发现任何问题,Monkey 会立即报告。

5.Monkey 的优缺点Monkey 的优点包括:- 简单易用:Monkey 的语法简单,入门门槛低,开发者可以快速上手。

monkey基本命令

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 "参数来指定应用的包名。

APP测试--Monkey命令

APP测试--Monkey命令

shell, monkey, system, Android, 文件系统Monkey, 示例, 简介一、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测试了。

三、Monkey命令的简单帮助要获取Monkey命令自带的简单帮助,在CMD中执行命令:adb shell monkey –help四、Monkey命令参数介绍1) 参数:-p参数-p用于约束限制,用此参数指定一个或多个包(Package,即App)。

指定包之后,Monkey将只允许系统启动指定的APP。

如果不指定包,Monkey将允许系统启动设备中的所有APP。

* 指定一个包:adb shell monkey -p com.htc.Weather 100说明:com.htc.Weather为包名,100是事件计数(即让Monkey程序模拟100次随机用户事件)。

* 指定多个包:adb shell monkey -p com.htc.Weather–p com.htc.pdfreader -p com.htc.photo.widgets 100* 不指定包:adb shell monkey 100说明:Monkey随机启动APP并发送100个随机事件。

如何利用Monkey工具进行Android自动化测试

如何利用Monkey工具进行Android自动化测试

如何利用Monkey工具进行Android自动化测试自动化测试在软件开发中起到了至关重要的作用,它可以有效地提高测试效率、节省测试时间,并且能够减少人为错误的可能性。

而在Android开发领域,Monkey工具是一种非常实用的自动化测试工具,它可以模拟用户在设备上的随机操作,从而对应用程序进行全面的测试。

本文将介绍如何使用Monkey工具进行Android自动化测试。

一、Monkey工具简介Monkey工具是Android平台提供的一种压力测试工具,它通过产生伪随机事件(如点击、滑动、触摸等)来模拟用户操作。

Monkey工具不需要源代码,只需要一个APK文件即可进行测试。

因此,它可以对任何已安装的Android应用进行测试,包括系统应用和第三方应用。

二、Monkey工具的使用步骤1. 连接设备首先,将Android设备连接到开发电脑上,确保设备处于调试模式下,并且已安装好ADB工具。

2. 启动Monkey工具在命令行窗口中输入以下命令来启动Monkey工具:```adb shell monkey <参数>```其中,参数是指定Monkey工具的具体配置和行为方式。

3. 配置参数根据测试需求,设置不同的参数来指导Monkey工具的行为。

以下是常用的参数配置示例:- `--pct-touch`:设置触摸事件的百分比。

- `--pct-motion`:设置手势事件的百分比。

- `--throttle`:设置事件之间的间隔时间,单位为毫秒。

- `--ignore-crashes`:忽略崩溃错误。

- `--ignore-timeouts`:忽略超时错误。

- `--package`:指定要测试的应用程序包名。

4. 运行Monkey测试配置完参数后,输入以下命令来运行Monkey测试:```adb shell monkey -p <应用程序包名> <事件次数>```其中,应用程序包名是指定要测试的应用程序包名,事件次数是指定Monkey工具执行事件的总次数。

monkey工具的使用

monkey工具的使用

monkey工具的使用
Monkey是一个Android上的压力测试工具,可以模拟用户交互行为,如滑动屏幕、点击按钮、输入文字等,从而测试应用程序的稳定性和性能
表现。

以下是使用Monkey工具的步骤:
1. 准备工作:将Monkey工具添加到系统路径中,并在设备或模拟器
上开启USB调试模式。

2. 编写Monkey命令:打开终端或命令提示符窗口,输入如下命令:
$ adb shell monkey [options] <event-count>。

其中,options是可选的参数,event-count是要执行的事件数量。

3. 运行Monkey命令:在终端或命令提示符窗口中输入上一步编写的Monkey命令,并等待Monkey工具执行。

4. 分析Monkey日志:在执行完Monkey命令后,可以通过查看日志
文件来分析应用程序的稳定性和性能表现。

需要注意的是,Monkey工具是一种压力测试工具,如果在测试过程
中出现应用程序崩溃、界面卡顿等问题,可以通过分析日志文件找出具体
原因,并进行修复。

解密Android测试中的Monkey工具

解密Android测试中的Monkey工具

解密Android测试中的Monkey工具Android测试中的Monkey工具是一种用于模拟用户行为的自动化测试工具,它可以帮助开发人员发现和解决应用程序中的潜在问题。

本文将介绍Monkey工具的原理、用法以及常见的使用场景。

一、Monkey工具简介Monkey工具是Android SDK自带的一个命令行工具,用于模拟随机用户行为,例如点击、滑动、按键等,以测试应用程序在各种情况下的稳定性和健壮性。

它可以生成大量的随机事件,帮助开发人员发现并解决应用程序中的潜在问题。

二、Monkey工具的原理Monkey工具的原理是基于事件序列生成器,它通过随机生成用户事件序列来模拟用户在手机上的操作。

事件包括点击、滑动、按键等。

Monkey工具可以设置事件百分比来控制每种事件在序列中的出现频率,还可以设置事件数量、时延等参数。

三、Monkey工具的用法1. 安装Android SDK:首先需要安装Android SDK,并确保adb (Android Debug Bridge)工具可用。

2. 连接设备:连接Android设备或启动模拟器,确保设备已正确连接到电脑。

3. 打开命令行终端:打开终端或命令提示符窗口,进入到Android SDK的platform-tools目录下。

4. 运行Monkey工具:输入以下命令来运行Monkey工具:```adb shell monkey [选项] <事件数量>```其中,[选项]可以根据需要设置不同的参数,比如设置事件百分比、事件数量等。

5. 等待测试结果:Monkey工具将在设备上执行生成的随机事件序列,并输出相应的测试结果。

四、Monkey工具的使用场景1. 压力测试:通过设置大量的事件数量和频率,可以模拟应用程序在高负载情况下的运行状态,以测试其在压力下的稳定性和性能。

2. 稳定性测试:通过随机事件序列的生成,可以模拟用户的各种操作,从而发现应用程序中可能存在的崩溃、ANR(Application Not Responding)等问题。

adbmonkey测试使用及分析

adbmonkey测试使用及分析

adbmonkey测试使⽤及分析1. adb的⽤途adb monkey是⼀款稳定性测试⼯具,通过随机点击屏幕⼀段时间,app不会出现崩溃,⽆响应,能够正常维持运⾏的测试。

是由android系统⾃带应⽤,可以通过adb shell monkey直接使⽤。

2. Monkey命令参数介绍monkey 命令执⾏adb shell monkey-p com.hst.che --throttle 500 -s 100 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --ignore-native-crashes --monitor-native-crashes -v -v -v 1000>D:\android\monkey_log\16v3.txtmonkey的参数说明:-s :伪随机数⽣成器的 seed 值。

如果⽤相同的 seed 值再次运⾏ Monkey ,它将⽣成相同的事件序列。

--throttle :在事件之间插⼊固定延迟。

通过这个选项可以减缓 Monkey 的执⾏速度。

如果不指定该选项, Monkey 将不会被延迟,事件将尽可能快地被产成。

-p:如果⽤此参数指定了⼀个或⼏个包,Monkey将只允许系统启动这些包⾥的Activity。

如果你的应⽤程序还需要访问其它包⾥的Activity(如选择取⼀个联系⼈),那些包也需要在此同时指定。

如果不指定任何包,Monkey将允许系统启动全部包⾥的Activity。

要指定多个包,需要使⽤多个 -p选项,每个-p选项只能⽤于⼀个包。

--kill-process-after-error:通常,当Monkey由于⼀个错误⽽停⽌时,出错的应⽤程序将继续处于运⾏状态。

当设置了此选项时,将会通知系统停⽌发⽣错误的进程。

注意,正常的(成功的)结束,并没有停⽌启动的进程,设备只是在结束事件之后,简单地保持在最后的状态。

monkey 命令参数

monkey 命令参数

monkey 命令参数monkey命令参数概述:在软件开发过程中,为了保证应用程序的稳定性和可靠性,我们通常会进行各种测试。

而在Android开发中,我们可以使用monkey 工具来进行压力测试和随机事件测试。

monkey是Android SDK 中自带的一个命令行工具,可以模拟用户的随机操作,对应用程序进行压力测试。

一、介绍monkey是一个命令行工具,它可以模拟用户的随机操作,对应用程序进行压力测试。

它可以模拟按键操作、触摸事件、手势事件等,从而对应用程序的稳定性和可靠性进行测试。

二、使用方法1. 打开命令行窗口,进入到Android SDK的tools目录下;2. 输入monkey命令,后面跟上参数,即可执行monkey测试。

三、常用参数1. -p <包名>:指定要测试的应用程序的包名;2. -v <次数>:指定要执行的事件次数;3. --throttle <毫秒>:指定事件之间的延时时间;4. --pct-touch <百分比>:指定触摸事件的百分比;5. --pct-motion <百分比>:指定手势事件的百分比;6. --pct-nav <百分比>:指定导航事件的百分比;7. --pct-majornav <百分比>:指定主要导航事件的百分比;8. --pct-syskeys <百分比>:指定系统按键事件的百分比;9. --pct-appswitch <百分比>:指定应用程序切换事件的百分比;10. --pct-anyevent <百分比>:指定任意事件的百分比;11. --pct-pinchzoom <百分比>:指定缩放事件的百分比;12. --pct-permission <百分比>:指定权限请求事件的百分比;13. --pct-trackball <百分比>:指定轨迹球事件的百分比;14. --pct-rotation <百分比>:指定旋转事件的百分比;15. --ignore-crashes:忽略应用程序的崩溃;16. --ignore-timeouts:忽略超时错误;17. --ignore-security-exceptions:忽略安全异常;18. --kill-process-after-error:在错误发生后杀死进程。

monkey的常用操作

monkey的常用操作

"Monkey" 通常指的是"Android Monkey",它是一种用于测试Android 应用程序的工具。

以下是一些"Monkey" 的常用操作:
1. 启动"Monkey" 测试:通过命令行或者开发工具启动"Monkey" 测试。

2. 设置测试参数:可以设置如事件数量、触摸事件百分比、滑动事件百分比等参数。

3. 运行测试:启动"Monkey" 测试后,它会模拟用户操作,如点击、滑动、输入等,对应用程序进行随机测试。

4. 查看测试结果:"Monkey" 会生成测试报告,其中包含了测试过程中发生的事件、崩溃等信息。

5. 分析崩溃:如果测试过程中发生了崩溃,可以通过分析崩溃日志来定位和修复问题。

6. 重复测试:根据需要,可以重复运行"Monkey" 测试,以确保问题得到修复。

这些是"Monkey" 的一些常用操作,它可以帮助开发者发现应用程序
中的稳定性问题和兼容性问题。

在使用"Monkey" 进行测试时,需要根据实际需求合理设置测试参数,并结合其他测试方法进行综合测试。

monkey稳定性测试,常用执行命令和如何结束monkey的执行中进程

monkey稳定性测试,常用执行命令和如何结束monkey的执行中进程

monkey稳定性测试,常⽤执⾏命令和如何结束monkey的执⾏中进程⼀、稳定性命令adb shell monkey -p 包名 -v -v -v -s 111 --throttle 2000 --randomize-throttle --pct-touch 50 --pct-motion 50 --ignore-crashes --ignore-timeouts --ignore-native-crashes --ignore-security-exceptions 1000 > D:\monkey_log.txt-p 表⽰指定被测应⽤程序-v -v -v 表⽰指定⽇志详细程度-s 表⽰执⾏的seed值运⾏同⼀个流程标记⼀样的值次数也要和上次的数值设置⼀样在执⾏命令前app两次的初始停留的页⾯也要保证⼀致--throttle 2000 --randomize-throttle 表⽰执⾏事件和执⾏事件中间,间隔时间执⾏随机时间 0-2000毫⽶=2秒可以直有--throttle 2000 表⽰事件执⾏间隔2秒可以设置为0--pct-touch 50 表⽰点击事件执⾏占⽐50%--pct-motion 50 表⽰移动,滑动事件执⾏占⽐50%--ignore-crashes 表⽰调试时便于筛选⽤于指定当应⽤程序崩溃时(Force& Close错误),Monkey是否停⽌运⾏。

如果使⽤此参数,即使应⽤程序崩溃,Monkey依然会发送事件,直到事件计数完成--ignore-timeouts (⽆响应ANR)表⽰调试时便于筛选⽤于指定当应⽤程序发⽣ANR(Application No Responding)错误时,Monkey是否停⽌运⾏。

如果使⽤此参数,即使应⽤程序发⽣ANR错误,Monkey依然会发送事件,直到事件计数完成--ignore-native-crashes (许可证书崩溃)表⽰调试时便于筛选⽤于指定当应⽤程序发⽣许可错误时(如证书许可,⽹络许可等),Monkey是否停⽌运⾏。

monkey的用法

monkey的用法

monkey的用法Monkey是一种自动化测试工具,可用于模拟用户对应用程序进行随机化和压力测试。

使用Monkey工具,开发人员可以发现应用程序的潜在问题,如崩溃、ANR(应用程序无响应)和功能错误。

以下是关于Monkey用法的详细描述:1. Monkey的安装和设置:在使用Monkey之前,需要将Monkey工具安装在计算机中。

安装完成后,需要在系统环境变量中添加Monkey的路径。

在命令行中输入"adb shell monkey",确保正确安装。

2. Monkey命令的语法:使用Monkey工具的命令语法如下:adb shell monkey [options] <event-count>其中,options表示可选参数,event-count表示要执行的事件数量。

3. Monkey事件:Monkey工具模拟随机化事件,如触摸屏幕、按键、手势等。

可以使用以下命令定义事件类型和事件数量:-a <event-percentage>:设置触摸屏幕事件的百分比。

-s <seed>:使用指定的随机种子生成事件序列。

-v <verbosity>:设置日志输出详细程度。

4. Monkey选项:Monkey工具提供了各种选项,以便根据需求进行自定义设置,如限制事件范围、控制测试时间等。

以下是一些常用选项的示例:--pct-touch <percent>:设置触摸屏幕事件的百分比。

--pct-motion <percent>:设置移动事件的百分比。

--pct-nav <percent>:设置导航事件的百分比。

--throttle <milliseconds>:设置事件之间的间隔时间。

5. Monkey执行测试:使用Monkey工具执行测试时,可以连接设备或模拟器,并使用以下命令:adb shell monkey -p <package-name> <event-count>其中,-p选项用于指定要测试的应用程序包名,event-count表示要执行的事件数量。

monkey测试指令

monkey测试指令

南山区学府路107号9E 来自adb shell cd /system/bin/ (查询进入系统目录)
l(L的小写)s
rm preinstall.sh (删除preinstall.sh文件)
adb push (preinstall.sh)/system/bin(push进去后需将G1000重启)
工程模式暗码: #*8378#1#
查看版本暗码: ####0000#
工厂模式暗码: #*8378#0#
自动测试暗码: ####1111#
T500 网络优先选择的指令
#*8378#1#work type--选择
adb shell (查询系统目录log)
cd data/local
l(L的小写)s
adb pull /data/local E(放置电脑磁盘的位置):\log(log文件夹名称)
5.通用指令:adb shell monkey --ignore-crashes --ignore-timeouts --kill-process-after-error --ignore-security-exceptions --throttle 50 -v -v -v -s 5 60000000
3.输入测试指令:adb shell monkey -p com.android.browser -v 10000
备注:1.“com.android.browser”这个是各个模块测试的指令
2.“10000”自动测试10000次,这个是用户自行设置的
4.输入指令后按PC键盘ENTER自动进入测试。
一、自动测试方法:如浏览器
1.开启powercmd工具
2.通过adb devices找到连接的设备-W100
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

这时,你就可以在你执行 # monkey --port 1080 -v –v 命令的窗口看到打印的一系列 Events 消息:

……
:Sending Pointer ACTION_DOWN x=160.0 y=200.0
此时你会想到,如果必须这样一次一次的输入没个键值的话,那还有啥自动化测试的意义呢,还不如一个一个的去按呢,事实上是可以通过管道一次把所有命令传入 monkey 的。
6 、一次性输入 example_script.txt 脚步里面的所有内容,命令如下:
root@lenovo-desktop:~# cat example_script.txt | telnet 127.0.0.1 1080
# netstat
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 127.0.0.1:5037 0.0.0.0:* LISTEN
:Dropped: keys=0 pointers=0 trackballs=0 flips=0
## Network stats: elapsed time=18299ms (18299ms mobile, 0ms wifi, 0ms not connected)
注:你发现没?以上显示的内容呢,正是 examp_script.txt 的内容。
路还是很长滴 …
四、小小的实例 (example_script.txt)
Байду номын сангаас
# Touch the android
touch down 160 200
touch up 160 200
sleep 1000
# Hit Next
touch down 300 450
touch up 300 450
sleep 1000
# Hit Next
touch down 300 450
touch up 300 450
sleep 1000
# Hit Next
touch down 300 450
使用 usb 线或其他方式如串口连通设备和 pc ,使之能够相互通讯即可,验证方法参照命令 netstat 。
2 、如何测试
剩下的测试方法参照楼上的虚拟机方法即可。
三、总结
example_script.txt 例子非常简单,但是要真正的把它拿到自动化测试当中来,还需要花费很大的力气,其中的 events ,不泛是例子中的几个简单的 events ,而是还可以实现很多功能的,具体的 events 用法可参考 monkey 的源码 .
:SendKey (ACTION_UP): 20 // KEYCODE_DPAD_DOWN
:SendKey (ACTION_DOWN): 20 // KEYCODE_DPAD_DOWN
:SendKey (ACTION_UP): 20 // KEYCODE_DPAD_DOWN
tcp 0 0 127.0.0.1:1080 0.0.0.0:* LISTEN
root@lenovo-desktop:~#
5 、使用 telnet 工具连接 android
root@lenovo-desktop:~# telnet 127.0.0.1 1080
root@lenovo-desktop:~# netstat -an | grep 1080
root@lenovo-desktop:~#
root@lenovo-desktop:~# adb forward tcp:1080 tcp:1080
root@lenovo-desktop:~# netstat -an | grep 1080
:SendKey (ACTION_UP): 37 // KEYCODE_I
:SendKey (ACTION_DOWN): 40 // KEYCODE_L
:SendKey (ACTION_UP): 40 // KEYCODE_L
:SendKey (ACTION_DOWN): 40 // KEYCODE_L
:SendKey (ACTION_UP): 30 // KEYCODE_B
:SendKey (ACTION_DOWN): 37 // KEYCODE_I
:SendKey (ACTION_UP): 37 // KEYCODE_I
:SendKey (ACTION_DOWN): 40 // KEYCODE_L
:IncludeCategory: UNCHER
:IncludeCategory: android.intent.category.MONKEY
… …
注:执行完 monkey 命令后可以使用 netstat 查看端口是否开启,下面红色部分是我们要关注的地方。
:SendKey (ACTION_UP): 40 // KEYCODE_L
:Sending Pointer ACTION_DOWN x=300.0 y=450.0
:Sending Pointer ACTION_UP x=300.0 y=450.0
Events injected: 34
2 、进入 adb shell 模式,如下:
root@lenovo-desktop:~# adb shell
#
3 、运行 monkey 工具开启专用端口
# monkey --port 1080 -v -v
:Monkey: seed=0 count=1000
Sleeping for 1000 milliseconds
:Sending Pointer ACTION_DOWN x=300.0 y=450.0
:Sending Pointer ACTION_UP x=300.0 y=450.0
Sleeping for 1000 milliseconds
tcp 0 0 0.0.0.0:5555 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:1080 0.0.0.0:* LISTEN
#
4 、在 pc 端开启转发端口
root@lenovo-desktop:~# adb forward tcp:1080 tcp:1080
注:执行完 adb forward 后,同样可以使用 netstat 命令查看端口是否启用,命令如下:
7 、在 pc(windows ) 上运行 monkey 测试工具
备注:这个 example_script.txt 也完全可以在 windows 机器上运行,运行方法和步骤完全同上,所用到的系统命令也几乎一样。
二、在真实设备上运行 monkey
1 、连接设备
:SendKey (ACTION_DOWN): 23 // KEYCODE_DPAD_CENTER
:SendKey (ACTION_UP): 23 // KEYCODE_DPAD_CENTER
:SendKey (ACTION_DOWN): 30 // KEYCODE_B
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
出现上面的提示,没有异常退出的话,说明连接成功,这时候就可以参照 example_script.txt 脚步里面的内容输入键值了。
root@lenovo-desktop:~# telnet 127.0.0.1 1080
:SendKey (ACTION_UP): 20 // KEYCODE_DPAD_DOWN
:SendKey (ACTION_DOWN): 30 // KEYCODE_B
:SendKey (ACTION_UP): 30 // KEYCODE_B
:SendKey (ACTION_DOWN): 37 // KEYCODE_I
:SendKey (ACTION_UP): 40 // KEYCODE_L
:SendKey (ACTION_DOWN): 40 // KEYCODE_L
:SendKey (ACTION_UP): 40 // KEYCODE_L
:SendKey (ACTION_DOWN): 20 // KEYCODE_DPAD_DOWN
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
key down 3
OK
key up 3
OK
注: key down 3 , key up 3 ,是用户输入的键值, ok 是返回值,如果看到 ok 字样的返回值,说明发的键值为有效值,否则,为无效值!
一、在虚拟机上运行 monkey
1 、在 pc ( Linux )上运行模拟器,两种方法
l 可以通过 eclipse 运行 emulator ,具体方法略。
l 可以通过命令行 : root@lenovo-desktop:~# emulator -avd android2.2
:Sending Pointer ACTION_UP x=160.0 y=200.0
Sleeping for 1000 milliseconds
:Sending Pointer ACTION_DOWN x=300.0 y=450.0
:Sending Pointer ACTION_UP x=300.0 y=450.0
tcp 0 0 10.0.2.15:5555 10.0.2.2:43064 ESTABLISHED
相关文档
最新文档