测试学习笔记

ADB

截图

adb shell screencap /sdcard/wangdoujia.png

安装apk

adb install xxx.apk

删除APP

adb uninstall xxx
xxx为apk的包名

显示手机所有的APP包名

adb shell pm list package


aapt

查看app的package

aapt dump badging H:\测试学习\wandoujia.apk | findstr “package”

查看app的启动页面的activity

aapt dump badging H:\测试学习\wandoujia.apk | findstr “launchable-activity”


Moneky

在手机上执行100个伪随机事件

adb shell monkey 100

每次随机事件间隔3秒并显示日志

adb shell monkey -v –throttle 3000 10

自定义事件概率

touch概率为30%

adb shell monkey -v –pct-touch 30 200
_触控touch,启动事件—appswtich,手势—motion,旋转—rotation,轨迹—trackball,基本导航—nav,主要导航-majornav,系统按键-syskeys

设定多个事件的概率

adb shell monkey -v –pct-touch 30 –pct-motion 40 200

在指定的地方执行事件

在指定的app里进行随机事件

adb shell monkey -p 包名 100

在指定的activity内进行随机事件

adb shell monkey -c activity 100

遇到特殊事件处理

遇到crash后继续事件

adb shell monkey –ignore-crashes

遇到超时时继续事件

adb shell monkey –ignore-timouts

遇到权限不足时继续事件

adb shell monkey –ignore-security-exceptions

Moneky API

启动应用的activity

LaunchActivity(pkg_name,cl_name)
参数:包名,启动的activity

模拟一次点击事件

Tap(x,y,tapDuration)
参数:x,y坐标。tap持续时间(省)

设置睡眠时间

UserWait(sleepTime)

按键

DispatchPress(keyName)

输入字符串

DispatchString(input)

打开关闭软键盘

DispatchFlip(true/false)

长按事件

PressAndHold(x,y,pressDuration)

缩放手势

Drag(xStart,yStart,xend,yend,x2Start,y2Start,x2end,y2end,stepCount)

运行1次脚本

adb shell monkey -f /sdcard/test.txt -v -v 1
脚本是用Moneky API编写的脚本,文件后缀理论不限一般为.txt,脚本需放在测试手机内

log保存

adb shell monkey 100 1>d:\log.log 2>d:\error.log
1标准流在log.log 文件中,2错误流在error.log中

实例

adb shell monkey -p com.tal.kaoyan –pct-touch 40 –pct-motion 25 –pct-appswitch 10 –pct-rotation 5 -s 1666 –throttle 400 –ignore-crashes –ignore-timeouts -v -v 200
在考研APP里以触控25%手势40%启动10%旋转5%的概率和seed为1666为条件执行200次随机事件,并且每个事件隔0.4秒执行一次,在执行中遇到crash和权限问题都跳过继续执行之后的事件