Android 自动化测试命令基础入门4-am
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Intent
--activity-brought-to-front --activity-clear-top --activity-clear-when-task-reset --activity-exclude-from-recents --activity-launched-from-history --activity-multiple-task --activity-no-animation --activity-no-history --activity-no-user-action --activity-previous-is-top --activity-reorder-to-front --activity-reset-task-if-needed --activity-single-top --activity-clear-task --activity-task-on-home
10068 procstate CRE seq 0
10068 idle
10068 gone
//10068从最近使用程序删除
10
异常监听
语法
monitor
启动对崩溃或 ANR 的监控。
crash <PACKAGE|PID> 在指定的包或进程中引发VM崩溃
force-stop <package> kill [options] <package>
kill-all
强行停止与 package(应用的包名称)关 联的所有应用
终止与 package(应用的包名称)关联的 所有进程。此命令仅终止可安全终止且不 会影响用户体验的进程。
终止所有后台进程
7
内存快照
语法
4
启动服务
命令行语法
旧语法 adb shell am startservice <intent> 新语法 adb shell am start-service <intent>
5
发送广播
命令行语法
语法
adb shell am broadcast [options] intent
6
进程操作
语法
FLAGS
将标志添加到 setFlags() 支持的 intent。
参数
-n -a -d -c -t -e -f
Intent EXTRA
Intent
-e|--es extra_key extra_string_value --esn extra_key --ez extra_key extra_boolean_value --ei extra_key extra_int_value --el extra_key extra_long_value
9
UID监听
语法
watch-uids [--oom <uid>]
监听uid状态变化 --oom 指定监听的uid详细变化信息
不加参数:adb shell am watch-uids
10068 idle
10068 cached
10068 procstate CEM seq 0
10068 active
浮点型
--eu extra_key extra_uri_value --ecn extra_key extra_component_name_value
添加 URI 数据作为键值对。
添加组件名称,将其作为 ComponentName 对 象进行转换和传递
URI COMPONENT
--eia extra_key extra_int_value[,extra_int_value...] 添加整数数组。
说明
包含标志 FLAG_GRANT_READ_URI_PERMISSION
包含标志 FLAG_GRANT_WRITE_URI_PERMISSION 包含标志 FLAG_DEBUG_LOG_RESOLUTION 包含标志 FLAG_EXCLUDE_STOPPED_PACKAGES 包含标志 FLAG_INCLUDE_STOPPED_PACKAGES 包含标志 FLAG_RECEIVER_REGISTERED_ONLY 包含标志 FLAG_RECEIVER_REPLACE_PENDING 需要使用 -d 和 -t 选项以设置 intent 数据和类型
说明
包含标志 FLAG_ACTIVITY_BROUGHT_TO_FRONT 包含标志 FLAG_ACTIVITY_CLEAR_TOP 包含标志 FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET 包含标志 FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS 包含标志 FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY 包含标志 FLAG_ACTIVITY_MULTIPLE_TASK 包含标志 FLAG_ACTIVITY_NO_ANIMATION 包含标志 FLAG_ACTIVITY_NO_HISTORY 包含标志 FLAG_ACTIVITY_NO_USER_ACTION 包含标志 FLAG_ACTIVITY_PREVIOUS_IS_TOP 包含标志 FLAG_ACTIVITY_REORDER_TO_FRONT 包含标志 FLAG_ACTIVITY_RESET_TASK_IF_NEEDED 包含标志 FLAG_ACTIVITY_SINGLE_TOP 包含标志 FLAG_ACTIVITY_CLEAR_TASK 包含标志 FLAG_ACTIVITY_TASK_ON_HOME
10068 uncached
10068 procstate TOP seq 0
10025 procstate BFGS seq 0 //以上打开10068应用
10025 procstate TOP seq 0
10068 cached
10068 procstate LAST seq 0 //10068 按home键回到主屏幕
Intent
说明
例子
COMPONENT
指定带有软件包名称前缀的组件名称以创建显 式 intent
com.example.app/.ExampleActivity
ACTION 指定 intent 操作,比如调用拨打电话组件
android.intent.action.VIEW
DATA_URI 指定 intent 数据 URI
Intent FLAG
Intent
--grant-read-uri-permission
--grant-write-uri-permission --debug-log-resolution --exclude-stopped-packages --include-stopped-packages --receiver-registered-only --receiver-replace-pending --selector
Android 自动化测试命令基础入门 am 常用命令
目录
1 命令介绍 2 intent 说明 3 启动页面 4 启动服务 5 发送广播
6 进程操作 7 内存快照 8 CPU性能
10 UID监听 11 异常监听
1
命令介绍
命令介绍
Activity Manager (am)
启动页面
停止进程
发送广播 启动服务
否则,此工具假定参数是一个软件包名称。
3
启动页面
命令行语法
旧语法 新语法
adb shell am start [options] intent adb shell am start-activity [options] intent
-D -W -P file -R count -S
启用调试 等待启动完成 类似于 --start-profiler,但当应用进入空闲状态时分析停止 重复 Activity 启动 count 次数。在每次重复前,将完成顶部 Activity 启动 Activity 前强行停止目标应用
整数数组
--ela extra_key extra_long_value[,extra_long_value...]
添加长整型数组。
长整型数组
--efa extra_key extra_float_value[,extra_float_value...]
添加浮点型数组。
浮点型数组
Intent activity FLAG
系统操作
启动测试 内存快照
命令行语法
adb 直接发出 adb shell am <command>
shell 中
am <command>
2
intent 说明
intent 功能
Activity
service
intent
向程序表达某种请求或者意愿 系统根据意愿的内容完成请求
Broadcasts
Intent 基础项
dumpheap [options] <process> <file>
转储 process 的堆,写入 file。
-n:转储原生堆,而非托管堆。 -g: 转储之前,强制执行GC
使用基本步骤:
1、执行命令:am dumpheap com.android.calculator2 /data/local/tmp/1.hprof 2、pull到计算机:adb pull /data/local/tmp/1.hprof d:\1 3、转换格式:hprof-conv 1.hprof 2.hprof (hprof-conv 工具位于platform-toos) 4、使用MAT打开
Intent 快捷项
URI
component
package
如果不想受上述某一选项的限制(如 -a,-n),您可以直接指定 URI、软件包名 称和组件名称。
当参数不受限制时 ➢ 如果参数包含一个“:”(冒号),则此工具假定参数是一个 URI; ➢ 如果参数包含一个“/”(正斜杠),则此工具假定参数是一个组件名称;
8
CPU性能
语法
profile start <process> <file> 启动 process 的分析器,将百度文库果写入 file
profile stop <process>
停止 process 的分析器。
基本使用步骤:
1、开始性能文件:am profile start com.android.calculator2 /data/local/tmp/profile1 2、停止性能文件:am profile stop com.android.calculator2 3、pull到本地:adb pull /data/local/tmp/profile1 d:\1 4、使用traceview打开:traceview d:\1\profile1
content://contacts/people/1
CATEGORY 指定 intent 类别
android.intent.category.APP_CONTACTS
MIME_TYPE
传递给Intent的额外数据,以Bundle的形式定 义,就是一些键值对
image/png
EXTRA
添加字符串数据作为键值对
说明
添加字符串数据作为键值对 添加一个 null extra。URI intent 不支持此选项。 添加布尔型数据作为键值对。 添加整数型数据作为键值对。 添加长整型数据作为键值对。
数据类型
字符串 null 布尔型 整型 长整型
--ef extra_key extra_float_value
添加浮点型数据作为键值对。