移动端专项测试学习

本文详细介绍了移动端自动化测试中的adb工具,包括adb工作原理、常用命令,如设备状态检查、安装卸载应用、日志解析等。接着,深入探讨了Monkey测试,讲解了Monkey的基本概念、工作原理、参数解析及其在测试过程中的应用,如事件类型的百分比控制和调试选项。此外,还提到了如何分析设备的内存、CPU使用和电量消耗,为移动端应用的性能测试提供了全面指导。
摘要由CSDN通过智能技术生成

一、adb基础

1、adb工作原理


1、adb是什么
ADB全称Android Debug Bridge, 是android sdk里的一个工具,目的是起到调试桥的作用,用这个工具可以直接操作管理android模拟器或者真实的andriod设备(手机),是客户端测试常用的辅助工具。
ADB作为一个客户端/服务器架构的命令行工具,主要由3个部分组成。
(1)adb client(客户端):可以通过它对Android应用进行安装、卸载及调试。用于发送命令,客户端在开发计算机上运行,您可以通过发出adb命令从命令行终端调用客户端。
(2)adb daemon(守护进程):在设备上运行命令,守护在每个Android设备上的adb后台进程。
(3)adb service(服务器):管理客户端到Android设备上abd后台进程的连接。

2、adb的工作原理
当你启动一个adb Client(客户端),Client首先会选确认是否已有一个adb Server(服务器)进程在运行,如果没有,则会启动Server进程。此时,adb Server就会绑定本地的TCP端口5037,并监听adb Client发来的命令。所有客户端均通过端口5037与adb服务器通信。

接着,Server将会扫描所有5555到5585范围内(该范围供前16个模拟器使用)的奇数端口来定位所有的模拟器或设备,并与之建立连接。一旦Server找到 了adb daemon(守护程序),它将建立一个到该端口的连接,这样,我们就可以使用adb命令控制和访问模拟器或设备了。在这里,需注意的是任何模拟器或设备实例会取得两个连续的端口:一个偶数端口用来相应控制台的连接,和一个奇数端口用来响应adb连接。
例如:
模拟器1,控制台:5554
模拟器1,adb:5555
模拟器2,控制台:5556
模拟器2,adb:5557
依此类推…
netstat -ano|findstr 5555 查看端口是否被占用

服务器与所有设备均建立连接后,便可以使用adb命令访问这些设备。由于服务器管理与设备的连接,并处理来自多个adb客户端的命令,因此可以从任意客户端(或从某个脚本)控制任意设备。

2、adb基础命令

1.adb devices获取设备列表及设备状态:
adb devices -l可查看更多信息

2.adb get-state获取设备的状态
设备的状态有 device , offline , unknown3种,
device:设备正常连接
offline:连接出现异常,设备无响应
unknown:没有连接设备

3.adb install 安装应用(后面加apk包)
如果已经安装好了,需要再次安装需要加参数-r

4.adb uninstall +包名 卸载应用
找到某个应用的包名
aapt d badging +应用apk路径 | findstr “package”
举例:aapt d badging Desktop\apps\douban.apk | findstr “package”

5.adb pull 从手机设备COPY指定的文件到开发机
adb pull 设备上文件路径 本地电脑路径
举例:adb pull /data/local/tmp/1.png Desktop\

6.adb push 从开发机copy指定文件到设备
adb push 本地文件路径 开发机文件路径
举例:adb push Desktop\1.png /data/local/tmp

7.如果连接多台模拟器时,需要用-s参数来指定某一台设备;
adb -s 127.0.0.1:62001 shell 进入某个设备的shell命令控制台
adb -s 127.0.0.1:62001 install xx

3、Android日志解析

1.adb logcat 查看设备日志
这个命令刷新日志会很快,dos窗口不好查看,可以将结果重定向到一个文件,然后打开文件方便查看
adb logcat >Desktop\logcat.txt
日志 I inform E error
查询error 、exception

logcat的-f参数是将日志保存到文件,这个文件是在设备上,使用如下:
adb logcat -f /data/local/tmp/logcat.txt

4、adb shell命令

1.adb shell
多台机器加-s 参数
进入Android里面Linux命令操作
vmstat 1 查看资源使用情况
exit 退出Android系统
adb shell vmstat 1 不进入Android系统也可以查看

二、Monkey

1、Monkey基础介绍

1.monkey介绍
Monkey意指猴子,顽皮淘气。所以Monkey测试,顾名思义也就像猴子一样在软件上乱敲按键,猴子什么都不懂,就爱捣乱。Monkey原理也是类似,通过向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、滑动Trackball、手势输入等操作),来对设备上的程序进行压力测试,检测程序多久的时间会发生异常。
Monkey包括许多选项,它们大致分为四大类:
(1)基本配置选项,如设置尝试的事件数量;
(2)操作限制条件,如设置只对单独的一个包进行测试;
(3)事件类型和频率;
(4)调试选项,如忽略超时、忽略异常等;

2.Monkey原理
在Monkey运行的时候,它生成事件,并把它们发给系统。同时,Monkey还对测试中的系统进行监测,对下列三种情况进行特殊处理(自动停止):
(1)如果限定了Monkey运行在一个或几个特定的包上,那么它会监测试图转到其它包的操作,并对其进行阻止;
(2)如果应用程序崩溃或接收到任何失控异常,Monkey将停止并报错;
(3)如果应用程序产生了应用程序不响应(application not responding)的错误,Monkey将会停止并报错;

按照选定的不同级别的反馈信息,在Monkey中还可以看到其执行过程报告和生成的事件。
(1)Monkey程序由Android系统自带,使用Java语言写成,在Android文件系统中的存放路径是:
/system/framework/monkey.jar;
(2)Monkey.jar程序是由一个名为“monkey”的Shell脚本来启动执行,shell脚本在Android文件系统中的存放路径是:/system/bin/monkey;
(3)通过在cmd窗口中执行: adb shell monkey {+命令参数}来进行Monkey测试;

2、Monkey参数解析

1.基本语法
$ adb shell monkey [options]
若是不指定options,Monkey将以无反馈模式启动,并把事件任意发送到安装在目标环境中的所有应用程序网络

$ adb shell monkey -p package -v 500
指定对package这个应用程序进行monkey测试,并向其发送500个伪随机事件。其中 -p 表示对象包包,–v 表示反馈信息级别app

2.基础参数
可使用命令 adb shell monkey -help 查看命令参数工具

(1)参数: -p

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值