通过monkey测试特定的App

1.Monkey测试特定的app

通过monkey可以测试特定的app,基础语法如下:

adb shell monkey  [options]   200

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

1.jpg


如果你觉的文章读的不过瘾,可以查看详细的视频教程。

【51CTO】测试全栈课程

++《全栈测试工程师》VIP课程体系【课程上新阶段,8折销售中】++ 【测试全栈课程】服务 1.入班学员1对1摸底调研,制定【贴合】自身的学习计划; 2.全程【陪伴式】学习,每周定期跟踪督导; 3.专有学习社群小组,问题随时联系老师; 4.课程专属配套资料包全程免费提供,让学习更无忧; 5.简历指导+模拟面试+面试题库,让跳槽更无忧; 6.工作伴你行:工作中遇到问题,随时与老师交流;
7.课程免费升级权:新技术课程,无需2次付费,免费享有。 8.赠送配套出版书籍

测试学习路线如下

微信图片_20210816100905.png微信图片_202108161009051.png微信图片_202108161009052.png

微信图片_20210816100905.png微信图片_202108161009051.png微信图片_202108161009052.png 软件测试技能体系.jpg


0.9733767060093851.png ::: hljs-center :::