第二种方法
aapt dump badging D:\pangge_ev\app\iBiliPlayer-bili.apk|findstr "package launchable-activity"
第三种方法
adb shell "logcat | grep START"
想看哪个app,你就点击app。
package name:tv.danmaku.bili
activityname:tv.danmaku.bili.ui.splash.SplashActivity 可以拼接一下。
activityname:ui.splash.SplashActivity不拼接。
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:事件数
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 设置整个过程中
点击操作所占的百分比
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的日志级别
u --ignore-crashes 用于指定当应用程序崩溃时(Force& Close错误),Monkey是否停止运行。如果
使用此参数,即使应用程序崩溃,Monkey依然会发送事件,直到事件计数完成。
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的其他参数
1、按关键字进行搜索,ANR、Exception、Crash、Error。
2、找到有问题的地方,查看上下文信息。
3、注意第一个switch上下文信息。
4、查看monkey里面出错前的一些事件动作,可以手动执行该动作。
5、进行问题复现,可以使用之前执行的monkey命令在执行一遍,注意seed值要一样。
安装ANR和Crash
1、安装可以引起Crash的App
2、执行压力命令
packageName
执行时遇见Crash就停止
忽略Crash
3、析取Crash的Exception信息
ANR专项 —操作过快无反应、一个事件未处理完又执行其他事件
1、安装可以引起ANR的App cn.besttest.anrtest
2、执行压力命令
3、析取ANR的Exception信息
查看monkey的log
/data/anr/traces.txt ——查看logcat日志 ANR
pull traces.txt.