• 13
  • 13
分享
  • adb 安卓monkey测试以及log日志分析——软件测试圈
  • 饭团🍙 2021-08-27 13:24:57 字数 1298 阅读 966 收藏 13

1.monkey的简单介绍

Monkey测试是Android app自动化测试的一种手段,Monkey测试本身非常简单,就是模拟用户的按键输入,触摸屏输入等,看设备是否出异常。

当Monkey程序在模拟器或设备运行的时候,如果用户出发了比如点击,触摸,手势或一些系统级别的事件的时候,它就会产生随机事件,所以可以用Monkey用随机重复的方法去测试app。

一般情况下单个app monkey 模拟测试10万次足矣。

2.以下是app monkey测试的详细步骤

  1. 先进入cmd界面,输入adb devices,查看是否正常连接;

  2. 输入adb logcat | findstr START 监控app,打开你要测试的app,cmd查看app的包名。cmp=右边的就是app的包名;

  3. 输入adb logcat -c 先清除下logcat日志信息;

  4. 输入adb logcat -v time >F:\logcat.log;

  5. 输入adb shell monkey -p +app包名 -v 10000 >F:\monkey.log。

3.通过adb命令做回归测试

当开发修改问题后,需要做回归测试验证是否修改ok,此时测试人员需要使用上一次跑的monkey测试中的seed值做回归测试。

adb shell monkey -p +包名 -s +seed值 -v 10000

比如

adb shell monkey -p com.shanjian.originaldesign -s 1536629919450 -v10000

4.命令解析

-v 较少的日志信息

-v -v 较为丰富的日志信息

-v -v -v 最高级别的日志信息

5.monkey日志分析

当monkey测试时出现问题,此时我们需要分析定位问题,我们需要分析monkey日志

Monkey测试出现的异常的原因:

一般是两种原因导致的,一个是crash 程序崩溃,导致crash原因如下

a)程序存在空指针

b)cpu不足

c)内存不足

另一种是ANR 程序无响应,导致anr无响应原因如下:

a)线程阻塞

b)cpu不足

c)内存不足

查找分析原因:

  1. 当monkey测试出现异常终止,请打开logcat日志搜索关键字‘anrin’,如果存在该关键字,说明app出现了ANR异常,我们需要把/data/anr目录下的trace.txt文件取下来。

  2. 取下来trace.txt文件后,将出现问题的进程号对应的日志发给软件工程师定位,如果在logcat日志里没有搜索到’anrin’关键字,就搜索’nullpointer’异常关键字的上下日志,发给开发定位

  3. 当出现ANR后,需要导出,步骤如下:

  • 输入adb shell;

  • 输入cd /data/anr/;

  • 输入ls;

  • adb pull /data/anr d:\trace.txt;

  • 在logcat将出现anr问题的进程号复制,然后在trace.txt文件里按ctrl+F 查找,粘贴进程号,查找对应的问题。


作者:shawn xie123

原文链接:https://blog.csdn.net/xiezhiming1234/article/details/82121232

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 看了那么多讲堂,你是不是也心动了,想把自己的技术分享给大家?日常工作和学习中应该会遇到很多需要注意的问题和学习心得,可以尝试动手写下来,加深记忆的同时也可以帮助他人!什么是51讲堂51讲堂包含一篇文章和一次线上交流(可选)的知识分享,是一场高浓度、有收益的纯文字类型的内容。读者可以利用碎片时间学习,既满足了读者的学习需求,也满足了讲师的创作和收益需求。具体来说51讲堂需要具备以下几个条件:1、每一篇完整的讲堂都需要包含案例支撑,确保读者的问题可以在当前的讲堂中得到完整的解答;2、讲堂之间可以相互独立,读者可以根据自己的需求选择对应的内容进行阅读;3、讲堂之间也可以相互关联,系列讲堂每个讲堂之间...
            0 0 6791
            分享
          •   1 BUG现象  系统并发请求,系统停滞无法使用,所有接口都是无法与后端进行交互的状态,系统并没有宕机。  2 BUG的业务流程  1)插入分数方法 涉及插入表ABCD 加了声明式事务  2)查询分数方法 涉及表ABCD  controller() {   @Transactional   insertVo();   selectById();   }  3 排查原因  因为代码不是我写的,一开始我就是怀疑是死锁导致的BUG,然后我用Jconsole,去检测一下死锁,并没有发现死锁,接下来我去Mysql看有没有死锁,结果也没有发现,然后我就懵了,jvm没有锁,mysql也没有锁且...
            0 0 228
            分享
          • 摘要Postman是一款API接口调试工具,使用它可以很方便的对接口进行测试,并且后端人员可以将自己的调试结果导出,方便前端人员调试。安装下载地址:www.getpostman.com/downloads/下载完安装包后直接双击安装即可。设置主题设置这里不得不说,Postman的界面还是做的很好的,比起Swagger来说好多了,Postman默认提供了两种主题,一种亮色和一种暗色,可以通过左上角的File->Settings按钮打开。调整字体大小可能界面默认的字体大小并不适合你,尤其是大屏幕的电脑,可以在View下的ZoomIn和ZoomOut按钮进行放大和缩小。进行接口调试测试接口均来...
            12 12 2040
            分享
          •  我们的研发团队最需要应对的就是各种新需求。软件越来越快的更新速度也让整个系统也变得越来越复杂,这让 测试 工作面临着巨大的挑战。测试人员必须与开发人员沟通,确定测试范围,并及时获取最新的接口用例数据来验证功能。但是,由于需求变化太频繁,测试范围不能及时跟上接口的更新速度,导致很多潜在的问题被漏掉,影响了软件的质量。传统的静态测试模式非常影响工作体验。作为一个专业的 API 接口管理平台,Apifox 提供了一系列可视化和自动化的功能,能够有效地帮助测试人员应对这些挑战。举个例子,我们正在开发一个在线医疗问答平台,该平台提供了数百个服务接口。为了完整地测试所有功能...
            0 0 516
            分享
          • 跟一位朋友聊侃职业发展,她以前也是IT圈的妹子,后来华丽转行。她知道我做过很长时间的测试,而且做的还不错。大概她是看到了我日常行事风格里也表现出了很强的测试思维—找问题,解决问题,追求完美,但似乎又不相信有什么事情是完美的。她跟我说:“测试我也做过一段时间的,现在觉得,就算有一天我拖着棍子去要饭,我也不会再回头去做测试!”因为她忍受不了这种以找bug为目标的工作。 我被她这句话伤害到了,尽管她一再表示,她绝对没有贬低测试这个行当的意思。   其实我当下的主要工作已经不是做测试了,但是项目偶尔缺人的时候,还是会被拉去帮忙。就在...
            2 5 2526
            分享
      • 51testing软件测试圈微信