App移动端测试monkey测试特定的App
Posted 寻觅的狮子
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了App移动端测试monkey测试特定的App相关的知识,希望对你有一定的参考价值。
1.1 包约束
回顾通过uiautomator 去查看某个应用的包名。如qq包名:com.tencent.mobileqq 微信包名:com.tencent.mm
参数-p,如
adb shell monkey –p com.tencent.mobileqq 100
如果说同时操纵2个应用
adb shell monkey –p com.tencent.mobileqq -p com.tencent.mm 500
#同时启动了微信与qq
1.2. Activity约束
Activity涉及到类,与开发人员息息相关。而自动化测试工程师未必知道,因此使用率并不高
参数 –c,格式:
adb shell monkey -c <main-category> <event-count>
1.3. 当出错的时候该如何处理
- 当应用程序崩溃后,继续发送事件
- adb shell monkey --ignore-crashes <event-count>
- 超时错误继续发送事件
- adb shell monkey --ignore-timeouts
- 当应用程序权限错误发生后继续发送事件
- adb shell monkey --ignore-security-exceptions
- 其他:安卓系统崩溃等。
2.Monkey命令综合案例
案例:
以腾讯qq为例进行测试,通过monkey对qq进行随机操作测试。
要求:
- 指定包名 com.tencent.mobileqq (-p)
- 假设qq日常操作的触摸事件与手势事件较多,因此该2项占用比例要较多 --pct-touch(40%) 和 –pct-motion(25%)
- 对activity进行大量测试 --pct-appswitch将activity的事件占比调整到15%
- 对屏幕的旋转测试,--pct-rotation(10%)
- 便于回放事件流一致。需要设定Seed -s
- 考虑到2个事件操作间的间隔,设定间隔时间为1000ms,每个monkey操作固定延迟0.3秒
- 考虑monkey执行过程中,可能会程序发生意外(崩溃等)--ignore-crashes --ignore-timeouts
- 使用日志,-v,日志级别是1级即可(2个-v)
Monkey脚本:
C:\\Users\\Leo>adb shell monkey -p com.tencent.mobileqq --pct-touch 40 --pct-motion 25 --pct-appswitch 15 --pct-rotation 10 -s 1000 --throttle 300 --ignore-crashes --ignore-timeouts -v -v 200
如果你觉的文章读的不过瘾,可以查看详细的视频教程。
【51CTO】测试全栈课程
测试学习路线如下
::: hljs-center
:::
以上是关于App移动端测试monkey测试特定的App的主要内容,如果未能解决你的问题,请参考以下文章