monkey简介与最常用命令
1.monkey简介
monkey是SDK附带的一个用来做压力测试的工具,monkey测试所有事件都是随机发生的,不带有主观性,测试人员主要通过跑monkey后打印出来的日志分析来发现问题
2.monkey最常用命令
(1) adb shell \\进入android shell命令模式
monkey -p com.aa.bbmiddlemarket -v 1000
应用商店模拟用户随机操作,无延迟点击1000次
\\参数-p用来指定参数,指定一个或多个包;参数-v 设置日志级别(默认一个-v),如需更详细的日志可以加多个-v,最多3个,如
monkey -p com.aa.bbmiddlemarket -v -v -v 1000 \\3个-v,输出最详细的日志
(2) adb shell monkey -p com.aa.bbmiddlemarket -v 10 > F:\monkeylog\monkey.txt
应用商店模拟用户随机操作,无延迟10次,并把操作后的日志输出到电脑上的F:\monkeylog\monkey.txt
(3)Monkey测试1:adb shell monkey -p com.aa.bbmiddlemarket –s 10 100
Monkey 测试2:adb shell monkey -p com.aa.bbmiddlemarket –s 10 100
参数: -s
用于指定伪随机数生成器的seed值,如果seed相同,则两次Monkey测试所产生的事件序列也相同的。如上面的Monkey测试1和2,两次测试的效果是相同的,因为模拟的用户操作序列(每次操作按照一定的先后顺序所组成的一系列操作,即一个序列)是一样的。 操作序列虽 然是随机生成的,但是只要我们指定了相同的Seed值,就可以保证两次测试产生的随机操作序列是完全相同的,所以这个操作序列伪随机的;注意:seed值一般设为小于1000
(4)adb shell monkey -p com.aa.bbmiddlemarket -s 500 --ignore-crashes --ignore-timeouts --monitor-native-crashes -v -v 10000 > F:\monkeylog\monkey_10000.txt
--ignore-crashes忽略崩溃,继续测试,若不做此限制,monkey测试出现崩溃时会自动停止测试
同理,在中间插入控制命令如下:
--ignore-timeouts 忽略连接超时
--ignore-security-exceptions忽略在应用程序发生许可证错误(认证或证书异常),
--kill-process-after-error在应用程序出现错误后,将会通知系统停止发生错误的进程
--monitor-native-crashes监视并报告Android系统中本地代码的崩溃事件,如果设置”--kill-process-after-error”参数,系统将停止运行该进程
--ignore-native-carshes忽略本地代码导致的崩溃
(5)adb shell monkey -p com.aa.bbmiddlemarket --throttle 500 100 > F:\monkeylog\monkey_10000.txt
代表间隔时间,即每次操作的时间间隔,单位是毫秒;用--throttle可以减缓monkey的执行速度,如果不指定该选项,monkey将不会被延迟,事件将尽可能快地完成,一般用500
(6)终极命令:adb shell monkey -p com.aa.bbmiddlemarket -s 500 --throttle 500 --ignore-crashes --ignore-timeouts --monitor-native-crashes -v -v -v 10000 > F:\monkeylog\monkey_10000.txt
(7)写好的monkey脚本另存为HelloMonkey文件,然后将该脚本推送到手机的sd卡里。
推送到手机sd卡:adb push HelloMonkey /mnt/sdcard/
然后运行:adb shell monkey -v -f /mnt/sdcard/HelloMonkey 1
monkey简介与最常用命令的更多相关文章
- Linux简介及最常用命令(简单易学,但能解决95%以上的问题)
转载 longctw 版权声明:只为分享.欢迎转载^V^ https://blog.csdn.net/xulong_08/article/details/81463054 Linux是目前应用最广泛的 ...
- 【JAVAWEB学习笔记】26_Linux基础:简介安装、常用命令和JDK、Mysql、Tomcat的安装
Linux基础 学习目标 1.了解Linux的简介与安装 2.掌握Linux常用的命令 3.掌握Linux系统上JDK.Mysql.Tomcat的安装 一.Linux的简介 1.Linux的概述 Li ...
- Linux基础:简介安装、常用命令和JDK、Mysql、Tomcat的安装
一.Linux的简介 1.Linux的概述 Linux是基于Unix的开源免费的操作系统,由于系统的稳定性和安全性几乎成为程序代码运行的最佳系统环境.Linux是由Linus Torvalds(林纳斯 ...
- adb 简介与常用命令
1. abd 简介 2. adb 常用命令 1. abd 简介 adb 的全称为 Android Debug Bridge,就是起到调试桥的作用. 借助 adb 工具,我们可以管理设备或手机模拟器的状 ...
- monkey常用命令实例
一.常用命令的使用 1.monkey进行压力测试的命令是什么呢? adb shell monkey -p <packagename> <count> eg: adb shell ...
- linux进程管理和系统状态常用命令简介
1 进程管理简介 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础 2 常用命令 2.1 pstree 2.1.1 功能描 ...
- 【Monkey】Monkey稳定性测试常用命令
Monkey稳定性测试常用命令: 1.adb shell monkey n 2.adb shell monkey -p com.android.calculator2 1000 3.adb shel ...
- redis redis常用命令及内存分析总结(附RedisClient工具简介
redis常用命令及内存分析总结(附RedisClient工具简介 by:授客 QQ:1033553122 redis-cli工具 查看帮助 连接redis数据库 常用命令 exists key se ...
- adb、monkey常用命令
adb.monkey常用命令 1.查看连接设备 adb devices 2.连接android模拟器 adb connect 127.0.0.1:62001 3.安装软件 adb install 这个 ...
随机推荐
- 简单的led驱动程序设计
基于ok6410: led驱动程序: vim led.c #include<linux/kernel.h>#include<linux/module.h>#include< ...
- WPF项目学习.三
工具代码记录 版权声明:本文为博主初学经验,未经博主允许不得转载. 一.前言 记录在学习与制作WPF过程中遇到的解决方案. 分页控件的制作,邮件发送,日志代码,excel导入导出等代码的实现过程: 二 ...
- .NET Core UI框架Avalonia
.NET Core UI框架Avalonia,Avalonia是一个基于WPF XAML的跨平台UI框架,并支持多种操作系统:Windows(.NET Framework,.NET Core),Lin ...
- python爬虫登录
python3 urllib.request 网络请求操作 http://www.cnblogs.com/cocoajin/p/3679821.html python实现 爬取twitter用户姓名 ...
- jq自定义多选下拉列表框
多选选择国家插件 https://gitee.com/richard1015/dropDownList
- Asp.net中Request.Url的各个属性对应的意义介绍
Asp.net中Request.Url的各个属性对应的意义介绍 本文转载自 http://www.jb51.net/article/30254.htm 网络上关于Request.Url的说明已经很多也 ...
- jq实现数字增加或者减少的动画
效果图: 1.HTML: <div class="up"></div> <br> <div class="down"& ...
- python进阶学习笔记(三)
3.类的继承 3.1,python中什么是类的继承 答案是肯定的. 也就是说,如果一个实例是一个子类,那么它也是一个父类 总是从某各类继承,如果没有合适的类,就要从object类继承:super(). ...
- JVM中对象访问定位两种方式
1.通过句柄方式访问, 在Java堆中分出一块内存进行存储句柄池,这样的话,在栈中存储的是句柄的地址 优点: 当对象移动的时候(垃圾回收的时候移动很普遍),这样值需要改变句柄中的指针,但是栈中的指针不 ...
- MySql全国省市区SQL语句
CREATE TABLE IF NOT EXISTS `province` ( `id` int(11) NOT NULL auto_increment, `provinceID` int(1 ...