• 0
  • 0
分享
  • monkey安卓专项测试——软件测试圈
  • TIMI 2021-08-19 11:32:55 字数 2931 阅读 1271 收藏 0

一、adb环境部署

准备下载jdk及安卓adt

1、jdk下载地址(https://www.oracle.com/java/technologies/javase-downloads.html)

配置环境变量

① 打开配置环境入口

右键此电脑-高级系统设置-环境变量

② 配置JAVA_HOME

在系统变量中新增JAVA_HOME,变量值中输入jdk安装路径(C:\Program Files\Java\jdk-15.0.1 版本号及路径可能不一致,不能直接复制)

1.png

③ 编辑Path

在系统变量Path中新加两条:%JAVA_HOME%\bin和%JAVA_HOME%\jre\bin(每条以英语分号隔开)

2.png

④ 编辑CLASSPATH

在系统变量CLASSPATH中新加两条:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar(注意变量值字符串前面有一个".",一定不能丢失。)

3.png

⑤ 检查jdk环境是否部署成功

打开cmd命令行,输入java -version,出现版本号,则表示JDK环境部署成功

0.png

2、下载adt-bundle-windows-x86

linux 64 bit: http://dl.google.com/android/adt/adt-bundle-linux-x86_64-20140702.zip
linux 32 bit: http://dl.google.com/android/adt/adt-bundle-linux-x86-20140702.zip
MacOS X: http://dl.google.com/android/adt/adt-bundle-mac-x86_64-20140702.zip
Win32: http://dl.google.com/android/adt/adt-bundle-windows-x86-20140702.zip
Win64: http://dl.google.com/android/adt/adt-bundle-windows-x86_64-20140702.zip

下载后直接解压,找到sdk里tools和platform-tools的文件路径,并复制其路径.

① 配置Android环境变量

新增系统变量android,变量值为tools和platform-tools的完整路径

5.png

② 编辑Path

在Path的变量值中加:%android%

6.png

③ 检查adb是否部署成功

打开cmd命令行,输入adb

出现版本号,则表示adb环境部署成功

7.png

二、adb命令使用

1、使用模拟器连接adb(本地地址127.0.0.1)

adb connect 127.0.0.1:62001(或使用命令adb devices查看)

2、使用手机连接adb分几步完成

  • 通过usb线连接手机和电脑

  • 连接usb时手机会自动下载安装Android手机驱动(如果下载了手机助手下载驱动,则需要卸载,否则在运行adb时会冲突)

  • 在手机设置中打开开发者模式

  • 在手机弹窗中选择允许这台手机进行调试

  • 使用命令adb devices查看

3、adb常用命令

adb pull <手机路径> <本机路径> #从手机拉取信息到本地
adb push <本机路径> <手机路径> #从本地拉取信息到手机
adb shell #进入adb shell环境,查看手机路径
cd sdcard #进入手机内部存储目录
pwd #查看当前路径,如查到手机中文件/sdcard/pictures/screenshots/SVID_20201121_133317_1.mp4
exit #退出shell环境
adb push /sdcard/pictures/screenshots/SVID_20201121_133317_1.mp4 E:\adb

4、monkey的必须属性:COUNT 次数

可选参数:

-p 指定某个应用来执行monkey测试,若指定过个包名,可再追加-p 获取第三方包名方法:adb shell pm list packeage -3 (-3表示用户安装的应用包)

-v 指定日志详细程度,-v个数越多,日志越详细,一般采用最高3个-v

>d:\test.txt 指定日志生成路径

–throttle 设置操作之间的停顿时间,单位毫秒

-s seed值,可以理解为猴子的编号,会根据编号指定执行时各种动作所占的百分比(seed值一样,表示操作流程一样,操作界面或对象不能保证)

特殊参数:

–ignore 在执行过程中,忽略掉部分引起monkey停止的事件

crashes:应用崩溃

timeouts:应用未响应

security-exceptions:安全验证

native:系统崩溃

事件参数:

1:触摸事件百分比,参数–pct-touch

2:滑动事件百分比,参数–pct-motion

3:缩放事件百分比,参数–pct-pinchzoom

4:轨迹球事件百分比,参数–pct-trackball

5:屏幕旋转事件百分比,参数–pct-rotation

6:基本导航事件百分比,参数–pct-nav

7:主要导航事件百分比,参数–pct-majornav

8:系统事件百分比,参数–pct-syskeys

9:Activity启动事件百分比,参数–pct-appswitch

10:键盘翻转事件百分比,参数–pct-flip

11:其他事件百分比,参数–pct-anyevent

5、日志分析

查看logcat日志

adb logcat -b main> E:\logs.txt

四个log缓冲区

radio:输出通信系统的log

system:输出系统组件的log

events:输出event模块的Log

main:所有Java层的log(默认输出该模块的日志)

正常情况

如果Monkey测试顺利执行完成, 在log的最后, 会打印出当前执行事件的次数和所花费的时间; // Monkey finished 代表执行完成

adb shell monkey -p 包名 -v 1000 > d:\test.txt

异常情况

Monkey 测试出现错误后,一般的分析步骤,看Monkey的日志 (注意第一个swith以及异常信息等)

  1. 程序无响应的问题: 在日志中搜索 “ANR”

  2. 崩溃问题:在日志中搜索 “Exception”,“fatal”,“reboot”,“oom”, (如果出现空指针,NullPointerException) 肯定是有bug

  3. Monkey 执行中断, 在log最后也能看到当前执行次数

测试结束后,需要将手机连接PC,拷贝以下文件:

  • info.txt:此文件在手机上的SDCARD中,主要记录了monkey测试时发送的各种事件,如触摸事件的位置等等。

  • error.txt:此文件在手机上的SDCARD中,主要记录了monkey测试时产生的一些ANR、强制关闭等异常。

  • LOG文件:此文件在手机上的LOG文件夹中,主要主要记录程序对monkey测试时的响应情况。

作者:不负经年

原文链接:https://blog.csdn.net/test_number1/article/details/113783351

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   积极布局印度市场的小米,在当地遇到难题。  印度执法局(ED)6月9日发布文件称,因小米涉嫌违反该国《外汇管理法》(FEMA),“向外国实体非法转移资金”,该局已经向小米技术印度私人有限公司、小米印度分公司、部分高管及花旗等三家银行发出正式通知。  出于该指控,印度当局此前已经扣押了小米共555.1亿卢比资金(约6.8亿美元),现价近50亿元人民币。数据显示,小米集团2022年经调整净利润为人民币85亿元,也就是说,这笔资金相当于小米去年净利润的57%。  对于此事,观察者网向小米方面求证。截至下午发稿前,该集团暂未回应。  小米的申诉,没有回响  2022年4月,印度执法局指控称,自20...
            0 0 756
            分享
          • chmod命令1、格式:chmod 【-cfvR】【--help】【--version】mode file2、参数1)必要参数-c 当发送改变时,报告处理信息-f 错误信息不输出-R 处理指定目录以及其子目录下的所有文件-v 运行时显示详细处理信息2)选择参数--reference =<目录或者文件> : 设置成具有指定目录或文件具有相同的权限--version :显示版本信息<权限范围> + <权限设置> :使权限范围内的目录或文件具有指定的权限<权限范围> - <权限设置> :删除权限范围的目录或者文件的指定的权限<权限范围...
            0 0 1416
            分享
          •   Faker主要用来生成开发测试过程中的的模拟真实数据。JMeter主要用于测试,在测试的过程中造数据是一个很头疼的问题。今天笔者就来介绍一下如何将Faker和JMeter进行组合来实现。模拟数据创建,通过Faker创建的模拟数据更加真实。  1. 环境准备  ·JMeter, 版本:5.4.3  · javafaker,版本:1.0.2  下载javafaker的jar包,然后把jar包放到JMeter的lib目录中。  这里就已经准备好了。接下来就是启动JMeter服务。  Tips: 由于javafaker还有依赖snakeyaml,所以这个jar包也需要引入。  2. JM...
            0 0 1739
            分享
          •   写在前面  这篇文章译自著名测试专家James Bach的《Test Automation Snake Oil》一文,是笔者在学习和研究探索性测试时偶然发现的一篇较有意义的文章,很好地解答了我们对自动化测试的疑惑。  比如万能的自动化测试是否可以替代一切,还给我们提供了可行性很强的建议。  正如作者所说:先思考测试,再思考自动化,切莫本末倒置。  案例分析  先看几个案例。  案例1  一个产品从开发运维人员传递到下一个。  新开发人员发现产品设计文档已经过时,构建过程被破坏了。经过一个月的分析,每个人都宣称自己的设计很差,并坚持重写大部分代码。再过几个月,开发人员要么辞职,要么被重新分配...
            0 0 1372
            分享
          •        1、用户并发性能测试用例       用户并发测试是性能测试的最主要部分,包含了负载测试和压力测试的过程。主要是逐渐增加用户数量来加重系统负担,直到出现不能接收的性能点或者瓶颈。一般要测试正常数量的用户并发和极限数量下用户并发的情况。       并发用户测试主要是对系统的核心功能和重要业务进行测试,要以真实的业务数据作为输入,选择有代表性和关键的业务操作来设计测试用例。主要编写以下两个方面的用例:       核心模块的...
            0 0 4936
            分享
      • 51testing软件测试圈微信