1、启动模拟器

ios如何进行monkey测试_ios如何进行monkey测试

2、安装apk  adb install  zw.apk 安装应用程序_测试助手工具

ios如何进行monkey测试_Monkey_02

ios如何进行monkey测试_Android_03

  

ios如何进行monkey测试_ios如何进行monkey测试_04

ios如何进行monkey测试_Android_05

 

ios如何进行monkey测试_Android_06

ios如何进行monkey测试_Android_07

ios如何进行monkey测试_ios如何进行monkey测试_08

pss_app实际占用的物理内存

ios如何进行monkey测试_Android_09

cpu—图

ios如何进行monkey测试_Monkey_10

ios如何进行monkey测试_应用程序_11

GT介绍

 https://gt.qq.com/

https://gt.qq.com/docs.html   

adb 命令



1.adb help



2.adb devices 取得当前运行的模拟器/设备的实例的列表及每个实例的状态




ios如何进行monkey测试_Android_12

3.adb install zw.apk 安装被测试的应用程序



4.adb -s 123 install zw.apk 给指定的设备安装apk   多台设备的时候-s指定设备。



5.adb pull 从远程到本地,从手机下载文件到电脑  




ios如何进行monkey测试_Monkey_13

6.adb push 从本地到远程,从电脑上传文件到手机

7.adb start-server 启动服务



8.adb kill-server 杀死服务



9.adb shell 必须是root才行 进入linux  虚拟机有root权限,真机需要自己设置才可,Android是一个小型虚拟机。




ios如何进行monkey测试_Monkey_14

10.adb logcat 日志



 adb logcat *.W > 1.log   重定向到文件里



优先级从低到高排列



V-Verbose(lowest priority)



D-Debug



I-Info



W-Warning



E-Error



F-Fatal



S-Silent(highest priority,on which nothing is ever printed)



下面额过滤语句只显示优先级为warning或更高的日志信心



adb logcat *:W



 



Monkey



—Android前端压力测试、是否稳定



1、运行时机:一般是产品稳定后,首轮功能测试完成的夜间进行。



2、需要知道packageName。



3、目的:主要测试产品是否存在崩溃问题和ANR问题(当前事件卡死了、上一个事件没处理完又开始点击别的操作)。



获取packageName  activityName



第一种方法:



aapt dump badging apk名称




ios如何进行monkey测试_应用程序_15


ios如何进行monkey测试_ios如何进行monkey测试_16

第二种方法

aapt dump badging D:\pangge_ev\app\iBiliPlayer-bili.apk|findstr "package launchable-activity"

ios如何进行monkey测试_Monkey_17

第三种方法

adb  shell "logcat | grep START"

想看哪个app,你就点击app。

package name:tv.danmaku.bili

activityname:tv.danmaku.bili.ui.splash.SplashActivity 可以拼接一下。

activityname:ui.splash.SplashActivity不拼接。

ios如何进行monkey测试_Monkey_18

 

ios如何进行monkey测试_Android_19

 Monkey的基本命令


1、标准monkey命令:adb shell monkey -p com.android.calculator2 -v 50   adb shell monkey -p tv.danmaku.bili -v -v -v 500 //看更详细的日志


-p:packageName


-v:日志级别


50:事件数


ios如何进行monkey测试_应用程序_20

2、adb shell monkey -p com.android.calculator2 -v -v --pct-touch 50 --throttle 600 88

adb shell monkey -p tv.danmaku.bili -v -v -v --throttle 600 500 //事件间隔是600毫秒


--throttle 600 每个事件间隔600ms


adb shell monkey -p tv.danmaku.bili -v -v -v --throttle 600 --pct-touch 50 500 //事件间隔是600毫秒


--pct-touch 50 设置整个过程中 点击操作所占的百分比


 


 

ios如何进行monkey测试_应用程序_21

3、 adb shell monkey -p tv.danmaku.bili --throttle 500

--ignore-crashes

--ignore-timeouts

--ignore-security-exceptions

--ignore-native-crashes

--monitor-native-crashes -v -v -v


1080>c:\monkey_test.logMonkey的日志级别


ios如何进行monkey测试_Android_22


 


使用此参数,即使应用程序崩溃,Monkey依然会发送事件,直到事件计数完成。


ios如何进行monkey测试_ios如何进行monkey测试_23

u --ignore-timeouts 用于指定当应用程序发生ANR(Application No Responding)错误时,Monkey是


否停止运行。如果使用此参数,即使应用程序发生ANR错误,Monkey依然会发送事件,直到事件计


数完成。


u --ignore-security-exceptions 用于指定当应用程序发生许可错误时(如证书许可,网络许可等),


Monkey是否停止运行。如果使用此参数,即使应用程序发生许可错误Monkey依然会发送事件,直


到事件计数完成。


u --kill-process-after-error 用于指定当应用程序发生错误时,是否停止其运行。如果指定此参数,当应


用程序发生错误时,应用程序停止运行并保持在当前状态(注意:应用程序仅是静止在发生错误时


的状态,系统并不会结束该应用程序的进程)。


u --monitor-native-crashes 用于指定是否监视并报告应用程序发生崩溃的本地代码Monkey的日志分析


用于指定反馈信息级别(信息级别就是日志的详细程度),总共分3个级别,分别对应的参数如下表所示:


 


 参数: -v


1、日志级别 Level0


示例 adb shellmonkey -p com.htc.Weather –v 100


说明 缺省值,仅提供启动提示、测试完成和最终结果等少量信息


 


2、日志级别 Level 1


示例 adb shellmonkey -p com.htc.Weather –v -v 100


说明 提供较为详细的日志,包括每个发送到Activity的事件信息


 


3、日志级别 Level 2


示例 adb shellmonkey -p com.htc.Weather –v -v –v 100


说明 最详细的日志,包括了测试中选中/未选中的Activity信息Monkey的事件类型


 


--pct-touch:指定触摸事件的百分比,如:--pct-touch 5


--pct-motion (滑动事件)


--pct-trackball (轨迹球事件)


--pct-nav (导航事件 up/down/left/right)


--pct-majornav (主要导航事件 back key 、 menu key)


--pct-syskeys (系统按键事件 Home 、Back 、startCall 、 endCall 、 volumeControl)


--pct-appswitch (activity之间的切换)


--pct-anyevent (任意事件)Monkey的参数 -s


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


参数: -s  后面数字,下次执行时加上-s 相同的数字执行 相同的事件


用于指定伪随机数生成器的seed值,如果seed相同,则两次Monkey测试所产生的事件序列也相同的。


示例:


Monkey测试1:adb shell monkey -p com.htc.Weather –s 10 100


Monkey 测试2:adb shell monkey -p com.htc.Weather–s 10 100


两次测试的效果是相同的,因为模拟的用户操作序列(每次操作按照一定的先后顺序所组成的一系列


操作,即一个序列)是一样的。操作序列虽然是随机生成的,但是只要我们指定了相同的Seed值,就可


以保证两次测试产生的随机操作序列是完全相同的,所以这个操作序列伪随机的;Monkey的其他参数


Monkey的日志分析 


1、按关键字进行搜索,ANR、Exception、Crash、Error。


2、找到有问题的地方,查看上下文信息。


3、注意第一个switch上下文信息。


ios如何进行monkey测试_Monkey_24

 4、查看monkey里面出错前的一些事件动作,可以手动执行该动作。


 5、进行问题复现,可以使用之前执行的monkey命令在执行一遍,注意seed值要一样。


 


安装ANR和Crash


1、安装可以引起Crash的App


ios如何进行monkey测试_ios如何进行monkey测试_25


2、执行压力命令


packageName


ios如何进行monkey测试_Monkey_26

执行时遇见Crash就停止

ios如何进行monkey测试_Android_27

 

ios如何进行monkey测试_应用程序_28

  忽略Crash

ios如何进行monkey测试_Monkey_29

ios如何进行monkey测试_Android_30

3、析取Crash的Exception信息


ios如何进行monkey测试_应用程序_31

ANR专项 —操作过快无反应、一个事件未处理完又执行其他事件


1、安装可以引起ANR的App    cn.besttest.anrtest


2、执行压力命令


ios如何进行monkey测试_ios如何进行monkey测试_32

3、析取ANR的Exception信息


查看monkey的log


/data/anr/traces.txt ——查看logcat日志 ANR 


 pull traces.txt.

 

ios如何进行monkey测试_应用程序_33