移动app测试(一) 课程概述
随着移动互联网的发展,越来越多的软件被迁移到了移动端,也就有了越来越多的移动app测试的工作。无论是android系统上的app还是ios系统上的app,都可以从不同的测试类型角度来考虑测试,在开展不同的测试类型时会使用到不同的测试工具。
通过本课程的学习,学员可以掌握移动app的主要测试类型的测试思路以及会使用到的测试工具,这些测试类型包括功能测试、性能测试、兼容性测试和网络测试等。
课程环境
ubuntu系统阿里云手机考研帮应用ecmobile应用fiddlersolopimonkey阿里云qnet
学习收获
掌握adb工具使用理解移动app主要测试类型的测试思路掌握fiddler工具的使用掌握solopi工具的使用掌握monkey工具的使用掌握阿里云测的使用掌握qnet工具的使用
任务1:了解什么是adb工具
【任务目标】
了解手机测试包含的内容;了解adb工具工作原理;掌握如何查看adb工具使用帮助和版本。
1.1 手机测试的内容
手机测试分为:
1、手机app的测试,比如测试微信app、抖音app等。
手机app的测试的重心在app本身。
2、手机整机测试,比如测试华为mate20、小米10等。
手机整机测试测试手机基础功能(比如通话、短信、wifi、蓝牙等)和手机预装的app。手机整机测试还会包含硬件的测试,比如电池放电。
无论是手机app测试还是手机整机测试,都可以使用到adb工具。
1.2 什么是adb工具
实际生活中可以使用360手机助手连接android手机,对手机上的app、图片、视频、短信等进行管理。360手机助手实际就是通过adb工具连接手机并对手机进行操作的。
adb工具用于电脑连接并操作android手机,adb工具包含在android studio中sdk平台工具中。
SDK Platform Tools 版本说明 | Android 开发者 | Android Developers
adb工具已经在ubuntu的云主机上安装好了,对应的目录是/lib/android-sdk/platform-tools/。
adb工具包含:
1、adb客户端(pc上)
2、adb服务器端(pc上)
3、adbd进程(android手机上)
android手机通过adbd的程序和pc上的adb服务器连接。
adb客户端---------------------adb服务器端-----------------adbd
如果发现pc无法连接上android手机,可以考虑:
1、重启adb服务器
2、重启手机/模拟器
adb的命令可以通过adb --help来查看。在ubuntu云主机的桌面上右键选择在此打开终端,即可打开终端界面,输入命令即可。
可以通过adb version来查看adb工具的版本。在ubuntu云主机的桌面上右键选择在此打开终端,即可打开终端界面,输入命令即可。
任务2:掌握adb工具常用命令
【任务目标】
掌握如何用adb工具查看连接设备掌握如何用adb工具安装和卸载应用掌握如何用adb工具进行文件复制掌握如何用adb工具进行截图操作掌握如何用adb工具抓取应用运行日志
以下adb工具常用命令在针对android应用进行测试时经常会使用到。
adb devices 查看连接设备adb install 安装应用adb uninstall 卸载应用adb shell 进入android系统adb shell screencap -p /sdcard/screen.png屏幕截图adb pull 从手机上取文件adb push 电脑上文件放到手机上adb logcat 查看系统日志缓冲区信息(adb logcat -v time -s *:E > d:logcat.txt)adb start-server 启动adb服务器adb kill-server 停止adb服务器2.1 adb devices
用于查看pc连接了几个手机。在ubuntu云主机的桌面上右键选择在此打开终端,即可打开终端界面,输入命令即可。
当前连接了一台设备,对应阿里云手机,其127.0.0.1:10027为阿里云手机的序列号。如果连接多台设备,其序列号一定不同。
可以通过adb disconnect来断开和手机的连接,也可以通过adb connect来手动连接手机。在ubuntu云主机的桌面上右键选择在此打开终端,即可打开终端界面,输入命令即可。
真机也可以通过wifi而不是数据线连接到电脑上,通过adb connect 手机ip地址来连接。
如果是通过数据线来连接真机,需要注意以下的点:
1、检查usb调试开关是否打开。进入云手机中设置-关于手机。
连续点击版本号,打开开发者模式。进入开发者选项,就可以看到usb调试开关。
2、检查usb连接方式
usb连接方式不能是仅充电,到底选哪个需要尝试。
3、有些品牌的手机,需要安装该品牌的手机助手才能用adb连接。
2.2 adb install
用于安装被测app。
adb install apk文件路径复制代码
在ubuntu云主机的桌面上右键选择在此打开终端,即可打开终端界面,输入命令即可。
如果pc同时连接多部手机,需要通过-s参数来指明要安装的手机。
2.3 adb uninstall
用于卸载被测app。
adb uninstall 包名复制代码
包名可以在apk安装包的AndroidManifest.xml文件中查看到(/home/app/AndroidManifest.txt文件)。
也可以通过aapt工具来查看。
aapt d badging /home/app/kaoyanbang.apk | grep package复制代码
在ubuntu云主机的桌面上右键选择在此打开终端,即可打开终端界面,输入命令即可。
2.4 adb shell
可以进入android系统,查看到android系统的文件系统。在ubuntu云主机的桌面上右键选择在此打开终端,即可打开终端界面,输入命令即可。
输入whoami命令,可以查看当前登录的用户,如果发现不是root用户,可以退出后先运行adb root后再运行adb shell(前提条件是手机已经root过了)。
android系统中有几个文件夹比较重要:
1、/data/app目录,用来放用户安装的app的apk包。
2、/data/data目录,用来放app的安装目录,类似于windows上的program files目录。
3、/sdcard目录,扩展卡目录,用来放用户数据。
2.5 adb shell screencap
发现app的bug后,需要进行截图,可以利用android系统自带的截图工具screencap来截图。在ubuntu云主机的桌面上右键选择在此打开终端,即可打开终端界面,输入命令即可。
2.6 adb pull
将保存的截图从手机上取到电脑上。
adb pull 手机上文件路径 电脑上文件路径复制代码
在ubuntu云主机的桌面上右键选择在此打开终端,即可打开终端界面,输入命令即可。
2.7 adb push
主要用于将电脑上,测试用的文件到手机上。比如测试微信app需要测试发送超过100M的图片,手机上没有这种图片,就可以从电脑上传过去。
adb push 电脑上文件路径 手机上文件路径复制代码
在ubuntu云主机的桌面上右键选择在此打开终端,即可打开终端界面,输入命令即可。
将图片放置到手机上后,需要发送一个广播通知Android系统,图库文件有更新
adb shell am broadcast -a android.intent.action.MEDIA_MOUNTED -d file:///sdcard复制代码
2.8 adb logcat
测试app时发现bug,除了截图外,还需要提供运行的日志信息给开发,方便开发定位bug,尤其是闪退这种bug。
adb logcat -v time > /home/Desktop/logcat.txt复制代码
在ubuntu云主机的桌面上右键选择在此打开终端,即可打开终端界面,输入命令即可。
用以上的命令将logcat日志保存下来,然后对被测app进行操作,操作结束,就可以用ctrl+c来停止保存logcat日志。
保存的logcat日志需要提供给开发,用于定位bug。
logcat日志有不同的级别:
1、V,次要信息
2、I,系统信息
3、D,调试信息
4、W,警告信息
5、E,错误信息
作为测试工程师,如果想查看logcat日志,重点关注W和E级别的信息。可以在logcat日志中查询包名、exception、error、crash等关键字。
2.9 adb kill-server/adb start-server
如果要重启adb服务器,需要先kill-server,然后再start-server。
任务3:了解adb工具其它命令
【任务目标】
了解adb工具在android手机整机测试中的应用。
以下命令主要用于手机整机测试。
adb shell dumpsys battery 查看电池电量adb shell dumpsys wifi 查看无线网络信息adb shell dumpsys telephony.registry 查看电话相关信息 mCallState,0:表示待机状态,1:表示来电尚未接听状态,2:表示电话占线 mServiceState,0:表示正常使用状态,1:表示电话没有连接到任何电信运营网络,2:表示电话只能拨打紧急呼叫号码,3:表示电话已关机。adb bugreport 查看启动过程日志以及启动后系统状态adb shell cat /proc/cpuinfo 查看cpu相关信息adb shell cat /proc/meminfo 查看内存相关信息adb shell cat /system/build.prop 查看手机信息adb shell pm list packages 查看所有包列表信息通过adb工具可以了解被测手机各个方面的信息。
一、adb shell dumpsys battery
status=2表示充电中,status取其它数字表示非充电中,status=5表示满电。level对应当前电量为80%。
二、adb shell dumpsys wifi
可以查看到手机连接的是哪个wifi。
三、adb shell dumpsys telephony.registry
mCallState:呼叫状态,为0表示为待机状态。
mServiceState:服务状态,为1表示没有接入任何移动网络。
四、adb bugreport
对应android手机开机日志。
总结
本课程我们主要学习了adb工具的使用,该工具主要用于android应用和android手机整机的测试,重点需要掌握的是针对android应用测试所使用到的一些常用命令。对于这些常用命令,需要记住基本的使用方式,实际工作中根据需要再去查看和使用各种参数。
实验步骤
移动app测试(一)
课程概述
课程环境
学习收获
任务1:了解什么是adb工具
1.1 手机测试的内容
1.2 什么是adb工具
任务2:掌握adb工具常用命令
2.1 adb devices
2.2 adb install
2.3 adb uninstall
2.4 adb shell
2.5 adb shell screencap
2.6 adb pull
2.7 adb push
2.8 adb logcat
2.9 adb kill-server/adb start-server
任务3:了解adb工具其它命令
总结
实验步骤