Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Android压力测试

Android压力测试

作者头像
顾翔
发布于 2020-09-04 02:08:42
发布于 2020-09-04 02:08:42
4.5K0
举报

准备测试环境

准备Android SDK环境 下载 AndroidSDK

准备python环境 下载 python

APP的压测实践一

压测过程step1:手机调试到开发者选项,将USB调试选上。(【设置】-【关于手机】-【点击版本号5/6次】进入开发者选项,点击【开发人员选项】-【勾选USB调试】)

压测过程step2:确认手机和电脑已经成功连接,确认连接命令:adb devices

压测过程step3:安装测试APP 命令行 adb install package.apk

压测过程step4:发送压力指令:adb shell monkey 1000

压测过程setp5:获取app包名 adb logcat | grep START

cmp=包名/ 魔镜包名:com.cmiot.magicmirror

压测过程step6:给指定包打压力

adb shell monkey -p package 1000

Monkey高级参数的应用

1.throttle参数 指定事件之间的间隔

adb shell monkey --throttle < milliseconds >

adb shell monkey -p package --throttle 1000 10

2.seed参数 指定随机生成树的seed值

adb shell monkey -s < seed> < event-count>

adb shell monkey -p package -s 100 50

3.触摸事件

设定触摸事件百分比

adb shell monkey --pct-touch < percent>

adb shell monkey -p package --pct-touch 100 100

adb shell monkey -v -p package --pct-touch 100 100

4.动作事件

设定动作事件百分比

adb shell monkey --pct-motion < percent>

adb shell monkey -v -p package --pct-motion 100 100

5,轨迹球事件

设定轨迹球事件百分比

adb shell monkey --pct-trackball < percent>

6,基本导航事件

设定基本导航事件百分比,输入设备的上,下,左,右

adb shell monkey --pct-nav < percent>

7,主要导航事件

设定主要导航事件百分比,兼容中间键,返回键,菜单键

adb shell monkey --pct-majornav < percent>

8,系统导航事件

设定系统导航事件百分比,HOME,BACK,拨号及音量键

adb shell monkey --pct-syskeys < percent>

9,启动Activity事件

设定启动Activity的事件百分比

adb shell monkey --pct-appswitch < percent>

10,不常用事件

设定不常用事件的百分比

adb shell monkey --pct-anyevent < percent>

11,崩溃事件

忽略崩溃和异常 继续运行

adb shell monkey --ignore-crashes < event-count>

12,超时事件

忽略超时事件

adb shell monkey --ignore-timeouts < event-count>

adb shell monkey -v -p package --ignore-carshes --ignore-timeouts 100

Monkey Script常用命令介绍

执行Monkey脚本的命令:

adb shell monkey -f < scriptfile> < event-count>

scriptfile 是个脚本文件

1,DispatchTrackball 命令

2,DispatchPointer命令

3,DispatchString 命令

4,LaunchActivity 命令

5,UserWait命令

6,DispatchPress 命令

MonkeyScript实战

MonkeyScript脚本的编写

通过android-sdk 下面的uiautomatorviewer 中获取坐标点

adb push 脚本文件 /data/local/tmp/ 脚本复制到手机里面命令

monkey -f 脚本名 次数 在手机中执行脚本

比如我把脚本文件导入手机里的命令

adb push C:\Users\Administrator\Desktop\mook.script /data/local/tmp/

执行脚本的命令

adb shell monkey -f /data/local/tmp/mook.script 2

脚本文件内容

type=usercount=10speed=1.0start data >>LaunchActivity (com.test.demo,com.test.demo.MainActivity)UserWait(2000)DispatchPointer (10,10,0,100,50,1,1,-1,1,1,0,0)DispatchPointer (10,10,1,100,50,1,1,-1,1,1,0,0)DispatchString(test)UserWait(1000)DispatchPress(66)UserWait(1000)DispatchPointer (10,10,0,400,150,1,1,-1,1,1,0,0)DispatchPointer (10,10,1,400,150,1,1,-1,1,1,0,0)UserWait(6000)

Monkey Script常用命令介绍

monkeyrunner demo.py

#!/usr/bin/python#-*- UTF-8 -*-from com.android.monkeyrunner import MonkeyRunnerMonkeyRunner.alert ('Hello mook friends','This is title','Ok')

monkeyrunner编写的脚本截图

————————————————————

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-08-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Android 测试工具——Monkey参数
常规类参数包括帮助参数和日志信息参数。帮助参数用于输出Monkey命令使用指导;日志信息参数将日志分为三个级别,级别越高,日志的信息越详细。
清风穆云
2021/08/09
7830
Android命令Monkey压力测试,详解
二、Monkey 测试的目的? 该工具用于进行压力测试。 然后开发人员结合monkey 打印的日志 和系统打印的日志,结局测试中出现的问题。
软件测试君
2019/06/03
1.4K0
Android Monkey初探
Monkey是google提供的一款对Android app进行压力测试工具,基于随机坐标位置,进行点击、滑动、输入等操作.
测试加
2022/03/24
7290
Android Monkey初探
APP测试之Monkey压力测试(二)
通过APP测试之Monkey测试(一),我们了解了Monkey是什么,Monkey是如何实现对APP进行压力测试,也熟悉了Monkey基本的命令,今天将在之前的基础上进行补充和拓展,一起深入接触并掌握Monkey,这之后,我们还将总结APP测试常见问题,不要错过哦!
可可的测试小栈
2019/10/17
1.8K0
Monkey基本参数介绍
说到android移动端稳定性测试,大家通常会想到android系统自动Monkey小猴子,通过Monkey命令模拟用户触摸点击屏幕、滑动、系统按键等操作来对设备上的app进行压力测试,来测试应用的稳定性和健壮性。
霍格沃兹测试开发Muller老师
2022/05/25
7160
monkey稳定性测试「建议收藏」
稳定性测试定义:是指软件长时间的持续运行,系统版本是否稳定,是否持续的为客户提供服务。 指标:异常的次数,异常的频率 稳定性如何实施? 使用monkey向系统发送随机的用户事件流,实现对正在开发的应用程序进行稳定性测试,更好的模拟用户操作
全栈程序员站长
2022/10/03
5210
Appium+python自动化(十九)- 猴哥失散多年的混血弟弟还是妹妹- Monkey(猴子)参数(超详解)
  前边几篇介绍了Monkey以及Monkey的事件,今天就给小伙伴们介绍和分享一下Monkey的参数。
北京-宏哥
2019/07/16
6560
Appium+python自动化(十九)- 猴哥失散多年的混血弟弟还是妹妹- Monkey(猴子)参数(超详解)
推荐一款好用的APP性能测试工具——Monkey!
Monkey是 Android 中的一个命令行工具,可以运行在模拟器里或实际设备中。
Wu_Candy
2022/07/05
6.1K0
推荐一款好用的APP性能测试工具——Monkey!
Monkey基本参数介绍
说到android移动端稳定性测试,大家通常会想到android系统自动Monkey小猴子,通过Monkey命令模拟用户触摸点击屏幕、滑动、系统按键等操作来对设备上的app进行压力测试,来测试应用的稳定性和健壮性。
雷子
2021/03/15
1.1K0
Monkey基本参数介绍
APP测试之Monkey压力测试(一)
Monkey意指猴子,顽皮淘气。所以Monkey测试,顾名思义也就像猴子一样在软件上乱敲按键,猴子什么都不懂,就爱捣乱。Monkey原理也是类似,通过向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、滑动Trackball、手势输入等操作),来对设备上的程序进行压力测试,检测程序多久的时间会发生异常。
王大力测试进阶之路
2019/11/28
2K0
APP测试之Monkey压力测试(一)
Monkey意指猴子,顽皮淘气。所以Monkey测试,顾名思义也就像猴子一样在软件上乱敲按键,猴子什么都不懂,就爱捣乱。Monkey原理也是类似,通过向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、滑动Trackball、手势输入等操作),来对设备上的程序进行压力测试,检测程序多久的时间会发生异常。
可可的测试小栈
2019/10/17
3.2K0
软件测试|Monkey基本参数介绍
说到android移动端稳定性测试,大家通常会想到android系统自动Monkey小猴子,通过Monkey命令模拟用户触摸点击屏幕、滑动、系统按键等操作来对设备上的app进行压力测试,来测试应用的稳定性和健壮性。
霍格沃兹测试开发Muller老师
2022/12/29
3380
使用 monkey 对 App 进行压力测试
monkey 是 Android 中的一个命令行工具,由 java 编写,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对 APP 进行压力测试。
顾翔
2020/09/23
1.9K0
使用 monkey 对 App 进行压力测试
app测试之Monkey-随机事件测试
Monkey是Android中的一个命令行工具,可以运行在模拟器里或者现实设备中,向系统发送伪随机的用户事件流(点击、滑动、Application切换、横竖屏、应用关闭)实现对正在开发的应用程序进行压力测试。monkey测试是一种为了测试软件的稳定性,健壮性的快速有效的方法,只针对Activity做测试,不能对Service做测试。
找Bug
2022/07/22
8960
app测试之Monkey-随机事件测试
几款Android 应用自动化测试工具「建议收藏」
常规类参数 1、 -help 作用:列出简单的用法 例:adb shell monkey -help 也可不写help 2、-v 作用:命令行上的每一个-v都将增加反馈信息的详细级别。 Level0(默认),除了启动、测试完成和最终结果外只提供较少的信息。 adb shell monkey -p com.shjt.map -v 100 Level1,提供了较为详细的测试信息,如逐个发送到 Activity 的事件信息。 adb shell monkey -p com.shjt.map -v -v 100 Level2,提供了更多的设置信息,如测试中选中或未选中的 Activity 信息。 adb shell monkey -p com.shjt.map -v -v -v 100 比较常用的是-v -v -v,即最多详细信息,一般会保存到指定文件中供开发人员查找bug原因时使用。 例:adb shell monkey -v 10 事件类参数 1、-s <seed> 作用:伪随机数生成器的seed值。如果用相同的seed值再次运行monkey,将生成相同的事件序列。 例:adb shell monkey -s 1483082208904 -v 10 2、–throttle <milliseconds> 作用:在事件之间插入固定的时间(毫秒)延迟,你可以使用这个设置来减缓Monkey的运行速度,如果你不指定这个参数,则事件之间将没有延迟,事件将以最快的速度生成。 注:常用参数,一般设置为300毫秒,原因是实际用户操作的最快300毫秒左右一个动作事件,所以此处一般设置为300毫秒。 例:adb shell monkey –throttle 300 -v 10 3、–pct-touch <percent> 作用:调整触摸事件的百分比。(触摸事件是指在屏幕中的一个down-up事件,即在屏幕某处按下并抬起的操作) 注:常用参数,此参数设置要适应当前被测应用程序的操作,比如一个应用80%的操作都是触摸,那就可以将此参数的百分比设置成相应较高的百分比。 例:adb shell monkey –pct-touch 100 -v 10 4、–pct-motion <percent> 作用:调整motion事件百分比。(motion事件是由屏幕上某处一个down事件、一系列伪随机的移动事件和一个up事件组成) 注:常用参数,需注意的是移动事件是直线滑动 例:adb shell monkey –pct-motion 100 -v 10 5、–pct-trackball<percent> 作用:调整滚动球事件百分比。(滚动球事件由一个或多个随机的移动事件组成,有时会伴随着点击事件) 注:不常使用参数,现在手机几乎没有滚动球,但滚动球事件中包含曲线滑动事件,在被测程序需要曲线滑动时可以选用此参数。 例:adb shell monkey –pct-trackball 100 -v 10 6、–pct-nav<percent> 作用:调整基本的导航事件百分比。(导航事件由方向输入设备的上下左右按键所触发的事件组成) 注:不常用操作。 例:adb shell monkey –pct-nav 100 -v 10 7、–pct-majornav<percent> 作用:调整主要导航事件的百分比。(这些导航事件通常会导致UI界面中的动作事件,如5-way键盘的中间键,回退按键、菜单按键) 注:不常用操作。 例:adb shell monkey –pct-majornav 100 -v 10 8、–pct-syskeys<percent> 作用:调整系统事件百分比。(这些按键通常由系统保留使用,如Home、Back、Start Call、EndCall、音量调节) 注:不常用。 例:adb shell monkey –pct-syskeys 100 -v 10 9、–pct-appswitch<percent> 作用:调整Activity启动的百分比。(在随机的时间间隔中,Monkey将执行一个startActivity()调用,作为最大程度覆盖被测包中全部Activity的一种方法) 注:不常用。 例:adb shell monkey –pct-appswitch 100 -v 5 10、–pct-anyevent 作用:调整其他事件的百分比。(这包含所有其他事件,如按键、其他在设备上不常用的按钮等) 注:不常用。 例:adb shell monkey –pct-anyevent 100 -v 5 约束类参数 1、-p<allowed-package-nam
全栈程序员站长
2022/07/27
8.5K0
几款Android 应用自动化测试工具「建议收藏」
Monkey测试4——Monkey命令行可用的全部选项
Monkey命令行可用的全部选项 常规 --help 列出简单的用法。 -v 命令行的每一个-v将增加反馈信息的级别。 Level 0(缺省值)除启动提示、测试完成和最终结果之外,提供较少信息。 Level 1提供较为详细的测试信息,如逐个发送到Activity的事件。 Level 2提供更加详细的设置信息,如测试中被选中的或未被选中的Activity。 日志级别 Level 0 *示例 adbshell monkey -p com.htc.Weather –v 100 说明缺省值,仅提供启动提示、测试完成和最终结果等少量信息 日志级别 Level 1 *示例 adbshell monkey -p com.htc.Weather –v -v 100 说明 提供较为详细的日志,包括每个发送到Activity的事件信息 日志级别 Level 2 *示例 adbshell monkey -p com.htc.Weather –v -v –v 100 说明 最详细的日志,包括了测试中选中/未选中的Activity信息 事件 -s <seed> 用于指定伪随机数生成器的seed值,如果seed相同,则两次Monkey测试所产生的事件序列也相同的。 * 示例: Monkey测试1:adb shellmonkey -p com.htc.Weather –s 10 100 Monkey 测试2:adb shellmonkey -p com.htc.Weather –s 10 100 两次测试的效果是相同的,因为模拟的用户操作序列(每次操作按照一定的先后顺序所组成的一系列操作,即一个序列)是一样的。操作序列虽 然是随机生成的,但是只要我们指定了相同的Seed值,就可以保证两次测试产生的随机操作序列是完全相同的,所以这个操作序列伪随机的; --throttle<milliseconds> 在事件之间插入固定延迟。通过这个选项可以减缓Monkey的执行速度。如果不指定该选项,Monkey将不会被延迟,事件将尽可能快地被产成。 * 示例:adb shellmonkey -p com.htc.Weather –throttle 3000 100 --pct-touch<percent> 调整触摸事件的百分比(触摸事件是一个down-up事件,它发生在屏幕上的某单一位置)。 * 示例:adb shellmonkey -p com.htc.Weather --pct-touch 10 1000 --pct-motion<percent> 调整动作事件的百分比(动作事件由屏幕上某处的一个down事件、一系列的伪随机事件和一个up事件组成)。 * 示例:adb shellmonkey -p com.htc.Weather --pct-motion 20 1000 --pct-trackball<percent> 调整轨迹事件的百分比(轨迹事件由一个或几个随机的移动组成,有时还伴随有点击)。 * 示例:adb shellmonkey -p com.htc.Weather --pct-trackball 30 1000 --pct-nav<percent> 调整“基本”导航事件的百分比(导航事件由来自方向输入设备的up/down/left/right组成)。 * 示例:adb shellmonkey -p com.htc.Weather --pct-nav 40 1000 --pct-majornav<percent> 调整“主要”导航事件的百分比(这些导航事件通常引发图形界面中的动作,如:5-way键盘的中间按键、回退按键、菜单按键) * 示例:adb shellmonkey -p com.htc.Weather --pct-majornav 50 1000 --pct-syskeys<percent> 调整“系统”按键事件的百分比(这些按键通常被保留,由系统使用,如Home、Back、Start Call、End Call及音量控制键)。 * 示例:adb shellmonkey -p com.htc.Weather --pct-syskeys 60 1000 --pct-appswitch<percent> 调整启动Activity的百分比。在随机间隔里,Monkey将执行一个startActivity()调用,作为最大程度覆盖包中全部Activity的一种方法。 * 示例:adb shellmonkey -p com.htc.Weather --pct-appswitch 70 1000 --pct-anyevent<percent> 调整其它类型事件的百分比。它包罗了所有其它类型的事件,如:按键、其它不常用的设备按钮、等等。* 示例:adb sh
流柯
2018/08/30
1.9K0
Monkey稳定性测试初探(二)
稳定性测试,是在一定压力的情况下,对系统或某个模块持续进行长时间的操作(一般遵循7*24小时原则),系统没有出现业务问题、业务异常、内存泄露溢出等性能问题,保证了系统的稳定性,说明稳定性测试是通过的。稳定性测试一般在业务测试、性能测试完成后再进行。
王大力测试进阶之路
2022/03/14
1.4K0
Monkey稳定性测试初探(二)
深入探究App压力测试的关键要点:从零开始学习Monkey
霍格沃兹测试开发Muller老师
2024/03/26
1930
『APP稳定性测试干货』| 基于Monkey的移动端/APP稳定性测试过程和方法
虫无涯
2023/11/29
1.2K0
Android自动化测试工具——Monkey
最近开始研究Android自动化测试方法,整理了一些工具、方法和框架,其中包括android测试框架,CTS、Monkey、Monkeyrunner、benchmark,以及其它test tool等等。
阳光岛主
2019/02/19
1.7K0
相关推荐
Android 测试工具——Monkey参数
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档