- 听写:
A) 获取当前活动窗口包名:
adb shell dumpsys|find “mFocusedActivity”
B) 获取连接设备:
adb devices
C) 解释SDK、ADT、AVD、ADB:
SDK:software develop kit 软件开发工具包
ADT:android develop tools 安卓开发工具包
AVD:android virtual devices 安卓虚拟设备
ADB:android debug bridge 安卓调试连接桥
D) PC上传文件到模拟器:
adb push pc端文件地址 模拟器路径地址
补充:sys、system;可以重置系统目录的读写权限:adb remount
E) SDK manager.exe AVD manager.exe在sdk目录下无法直接调用出avd管理器以及sdk管理器:可以通过tools目录下的android.bat进行启动sdk,android.bat avd进行启动avd
F) 进行覆盖安装:
adb install -r apk所在路径
G) 无响应日志:/data/anr/traces.txt
H) adb服务关闭和启动:adb kill-server adb start-server
I) Monkey、Am目录:/system/framework
J) 进入模拟器终端:adb shell - logcat命令:测试人员核心不是在于发现多少问题,而是在于发现问题之后能够定位问题并解决(给出建议性)问题
注意:如果需要使用logcat命令的话则必须保证手机或者模拟器处于USB调试模式状态;
获取连接设备的调试或者执行的过程中相关日志信息;可以通过adb自带的参数logcat进行获取;同样还可以进入adb shell终端,使用logcat命令进行获取
adb logcat
adb shell logcat
以上两个命令是将日志信息显示在dos控制台中,为了能够详细分析日志信息,则可以将日志保存到指定本地文件中;
✓ 将所有的日志信息保存到指定文件
adb logcat>>需要保存日志文件的路径
✓ 将警告信息保存到指定文件
adb logcat *.W>>需要保存日志文件的路径
✓ 将错误信息保存到指定文件
adb logcat *.E>>需要保存日志文件的路径
注意:使用>>表示的是追加,>表示的是覆盖,如果需要进行筛选其中一个应用程序的日志的话则可以使用find命令
例如:adb logcat *.E|find “应用程序部分包的名”>>需要保存日志文件的路径
✓ 清除设备上的日志信息
adb logcat -c
3.获取avd的列表信息:android list avd
注意:此命令要求是在dos中输入,并且需要配置android的环境的变量即sdk的tools目录
4.设备重启:adb reboot
5.am命令:am命令可以实现启动指定的应用程序或者指定的相关操作;
启动一个应用程序的语法:
adb shell am start -n app的包名/app的活动包名
同样上面命令可以分两步执行:先进入模拟器或者手机终端:adb shell
然后在执行am命令
注意:获取app的包名/app的活动包名的方式:
1) 可以查看包名的存储目录:/data/data 但是此种方式只能能够获取包名,无法获取活动包名
同样可以使用命令直接获取:
adb shell pm list packages
如果需要模糊获取包:packages后面可以直接添加模糊的包名
2) 通过adb shell dumpsys|find “mFocusedActivity” 可以获取包名以及活动包名,但是此种方式需要启动对应的应用程序
3) 通过反编译的形式进行获取:
✓ 可以通过apk安装包中的AndroidManifest.xml进行获取其包名以及活动包名
该文件可以进行对apk安装包解压缩
对dex后缀的文件进行反编译:
dexdump命令是在sdk的build-tools目录中的任意一个api中
可以将该路径添加到环境变量中或者切换到该目录下则可以使用该命令
dexdump -d dex文件所在路径>>需要保存到的文件路径
✓ aapt命令:可以分析获取apk中的所有包信息,从中可以得到其包名以及活动包名
aapt dump badging apk所在路径
说明:1)aapt也是在build-tools目录中任意api 2)包名直接找package-name,活动包名找launchable-activity
✓ Apktoolkit:该款反编译工具基于jdk的版本具有很强的要求;必须与对应的jdk才能够正常运行;容易缺少一些库还需要手动添加可能性(杀毒软件必须关闭)
✓ Androidkiller:该款反编译工具功能丰富、操作简单、兼容性较强;现如今主流的一款app反编译工具
am进行启动指定应用程序的参数说明:
-n:参数值的格式是:包名/活动包名,表示的是对应用程序的组件进行做指定操作
-d:后面接的是参数的值;
-a:表示的是应用程序的intent组件(开发的概设、详设);
6.键盘操作事件:adb shell input keyevent 键盘指令
说明:键盘指令具有对应keycode的编码列表 - monkey测试:
Monkey原理:monkey是基于socket(套接字)协议进行通讯,发送一系列模拟用户行为的随机事件(例如:触摸、点击、手势等),然后进行观察指定应用程序或者模拟器手机设备是否运行正常,是否产生异常的过程;
注意:monkey是针对模拟器中不需要进行安装下载,对应api终端中/system/framework目录中存在monkey.jar包;
● 随机操作整个手机的命令:
adb shell monkey 事件数
● 指定应用程序进行随机事件的操作命令:
adb shell monkey -p 包名 事件数
● 获取monkey执行后的日志信息:
◇ 日志级别 Level 0
adb shell monkey -p com.huika.huixin.member –v 100
说明:缺省值,仅提供启动提示、测试完成和最终结果等少量信息。
◇ 日志级别 Level 1
示例 adb shell monkey -p com.huika.huixin.member
–v -v 100
说明:提供较为详细的日志,包括每个发送到Activity的事件信息
◇ 日志级别 Level 2
示例 adb shell monkey -p com.huika.huixin.member
–v -v –v 100
说明:最详细的日志,包括了测试中选中/未选中的Activity信息
● 因子参数:添加-s参数即可;
在进行monkey随机事件操作过程中第一次添加一个因子标识符,下一次执行的时候携带第一次所声明的因子标识符,则下一次执行会根据你的因子执行顺序执行;
例如:十个事件顺序为1865324079,那么该顺序需要记录到一个标识符中
语法:adb shell monkey -p 包名 -s 因子标识符 事件数
注意:seed值只能够是number类型
● --ignore-crashes:不会因为无响应而停止后续事件的执行,会忽略无响应,会继续执行剩余事件
● --ignore-timeouts:表示的是超时 - testin云测:
三大特征:1)真机终端云,节省测试设备购买租赁成本
2)自动化测试,节省测试人员成本及时间
3)云测试服务,面向全球移动互联网开发者
测试内容:实现功能遍历测试、性能测试、探索性测试、安全测试、UI适配测试、深度兼容测试、功能自动化测试等等