• Monkey面试整理


    1. 查找进程命令是什么?

    adb shell ps

    adb shell ps |findstr 名称

    2. 如何获取包名

    1)获取手机上的所有包名信息。

         adb shell pm list packages

    2) 获取手机上包含xxx信息的包名

       adb shell pm list packages |findstr xxx

    3) 在不知道包名的前提下获取包名,先打开需要查找的APK后,敲入一下命令

       adb shell dumpsys windows w | findstr name=

    4)对获取到的包名执行随机点击事件

       adb shell monkey -p com.android.bbkcalculator 3000 >e:123.txt (先在E盘创建个123.txt文件,本句话的意思是:当对此com.android.bbkcalculator包执行操作3000次时,将日志记录到指定的E盘123.txt文件中)

    3. Monkey如何模拟手动操作? 
    答:--throttle参数

    语法:adb shell  monkey -p 包名  --throttle 1000 1000

    eg:   adb shell monkey -p com.android.bbkcalculator --throttle 1000 1000

     注意:前面一个1000是毫秒数,后面一个1000是执行次数,意思是对指定的APK 执行1000次  ,每次延时1秒,进行随机操作。

    4. 杀死进程的方法 (force-stop 和clear)

    1) 根据包名杀死进程的命令。(此命令只是将程序停止工作)

         adb shell am force-stop 【包名】

    注意:这种方法会强制停止APP进程,不会清除APP进程在系统中产生的数据

    2)  杀死后台进程的命令

        adb shell pm clear 【包名】

        执行完成以后打开手机确定一下

    注意:区别于上面杀死进程的命令,这个会将后台程序杀死。

    5. 如何重现Monkey中发现的错误? 
    答:使用seed

    语法:adb shell monkey -p 包名 -s 50 100

    eg: adb shell monkey -p  com.android.bbkcalculator -s 50 100

    注意:seed值 可以简单形象的理解为flag,建立一个标签。一般用于monkey跑命令中。我第一次设定这个seed 值等于100,去跑monkey命令,就会对指定的APP程序随机点击100次,跑随机事件;

    第二次我跑命令的时候,还是用这个seed值,那么就会跟一次跑随机事件会一模一样,是个伪随机事件。 Monkey测试1:adb shell monkey -p com.android.bbkcalculator  –s 50 100

    Monkey 测试2:adb shell monkey -p com.android.bbkcalculator  –s 50 100 也就是说着两个命令执行的事件顺序是一模一样的! -s 代表 seed,50由自己随意定义

    6. Monkey如何控制事件流所占比? 

    答:--pct-touch等pct参数

    语法:  adb shell monkey -p 包名 --pct-touch 100 10

    eg:  adb shell monkey -p com.android.bbkcalculator --pct-touch 100 10

    7. Monkey除了做伪随机事件外,能不能写脚本? 
    答:能。

    8、如果能写脚本怎么做? 
    答:两种方式,指定事件类型+事件百分比,或者使用 -f参数加脚本文件。

    9、Monkey测试一般测试多久? 
    答:超过3个小时。

    10. android monkey的测试结果怎么分析

    在log的最开始都会显示Monkey执行的seed值、执行次数和测试的包名。

    首先我们需要查看Monkey测试中是否出现了ANR或者异常,无响应问题(ANR问题):在日志中搜索“ANR ”(此处有空格),

    崩溃问题:在日志中搜索“Exception”,快速定位到关键事件信息 。然后查看Monkey里面出错前的一些事件动作,并手动执行该动作,找出重现步骤,给开发。

    11. monkey测试流程?

    答:简要步骤:
    1). 查看设备是否已连接:adb devices

    2). 测试前首先关闭MTK log,将sdcard卡和手机内存中的旧的log清理赶紧

    3). 了解并得到包名

    4). 运行测试稳定性命令: adb shell monkey -p 包名 -v 运行次数(多个参数的组合形成不同的用例以求最大的覆盖)

    5).当崩溃或无响应时分析monkey日志

    12. Monkey测试注意事项

    注意事项:

    1. 测试关闭所有网络开关(wifi及数据连接)
    2. 开启安全设置下的未知来源
    3. 手机连接电源充电
    4. 若有有关于音频的模块,请插入耳机避免影响其他同事
    5. 若测试信息模块时需要安装测试工具testwizard.apk,自动生成通话记录,短信(数量为10)
    6. 若测试文件管理器需要在T卡内存放有图片/音乐/apk/视频/txt这类文件
    7. 测试图库是需要T卡内存放100个图片及视频的,同样音乐和视频播放器也需要存放不少于50个片源
    8. 测试电子邮件的需要新建两个以上的账户
    9. 测试前运行一遍手机上方带有的首次提示的说明,如输入法,文件夹窗口,apk提示语等
    10. 若测试时遇到问题想重新开始测试,必须拔掉电板后重新键入adb指令重新开始。

    13. 如何将测试报告记录在本地:

    将命令改为:  adb shell monkey –p com.android.bbkcalculator –-throttle 100 –-pct-touch 50 –-pct-motion 50 –v –v 10 >D:monkeylog.txt

    其它资料可参考:

    Monkey基本使用流程及测试报告分析: https://www.cnblogs.com/persistz/p/6209024.html

    Android模拟器端口被占用解决:  https://blog.csdn.net/u014769864/article/details/72649543

    monkey实战--测试步骤、常用参数、常规monkey命令: https://blog.csdn.net/u011649536/article/details/45043781

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    在Java当中如何优雅地处理临时文件
    lombok插件不建议使用的原因
    linux系统下修改tomcat的端口号时,需要修改的地方
    linux系统下报错为:直接在tomcat的bin目录下生成一个错误文件。
    Linux下修改tomcat端口号
    python实现断点续传下载文件
    Python中下划线---完全解读
    linux  指令 备注
    Linux下高并发socket最大连接数所受的各种限制
    python和pywin32实现窗口查找、遍历和点击
  • 原文地址:https://www.cnblogs.com/lanmosonny/p/9168212.html
Copyright © 2020-2023  润新知