首页 > 其他分享 >APP-Notes

APP-Notes

时间:2023-05-18 18:13:03浏览次数:46  
标签:shell -- app Notes adb 测试 手机 APP

常用ADB命令

#查看当前PC连接的设备号
adb devices
#进入设备
adb shell
#退出设备
Ctrl+D或exit
#进入指定设备
adb connect 设备号 例:adb connect 127.0.0.1:52001(同一局域网下使用)
adb -s  设备号 例:adb -s emulator-554 shell(通过USB数据线连接下使用)
#查询设备的ID和序列号(端口号)
adb get-serialno   
#显示adb命令的列表
adb help
#显示adb版本号
adb version
#启动服务
adb start-server
#终止服务
adb kill-server
#安装apk
adb install *.apk
#卸载apk
adb uninstall com.sankuai.meituan
#重新装载Android文件系统
adb remount
     
#上传:把PC端的文件放到移动端
adb push PC端文件地址 手机端存放位置
例:adb push d:/android.log /data/data   
#下载:把移动端里的文件发送到PC端
adb pull 手机端文件地址 PC端存放位置
例:adb pull /data/data/android.log d:\demo   

#输出日志
adb logcat -d -v time>D:/android.log
adb logcat [| findstr 包名](在外面查看指定包名的日志)
logcat | grep 包名(在android设备内部查看指定包名的日志)
    
#查看系统所有包名
adb shell pm list package
例:adb shell pm list package -f | findstr "com.tencent.mm"(查看指定包名,-f可选项,显示包名路径)
#启动关闭APP
adb shell am start -W -n 包名/.activity
adb shell am force-stop 包名
    
#app退到后台运行
adb shell input keyenent 3
    
#查看cpu
adb shell dumpsys cpuinfo | findstr 包名
#获取进程pid
adb shell ps | findstr 包名
#查看进程流量
adb shell cat /proc/pid/net/dev
    
#获取内存
adb shell top
VSS -Virtual Set Size(虚拟耗用内存)
RSS -Resident Set Size(实际使用物理内存)
    
#在 Android 设备上查找当前正在运行的应用程序
adb shell dumpsys window windows | grep mFocusedApp
    
#在外面直接创建目录
adb shell mkdir -p /sdcard/demo
1、查看apk文件中可启动的activity
aapt dump badging /d/Tools/Others/android_files/kaoyan3.1.0.apk | findstr "launchable-activity"

2、查看AVD中有哪些应用程序可供测试?
adb shell pm list package -f

3、如何运用monkey进行应用程序压力测试?
adb shell monkey -p 包名 -v 事件数
    

Monkey参数大全

常用的monkey命令

[adb shell] monkey 
    -v 500 (指定monkey报告等级(日志),一个-v增加一个级别,不写即0级,产生500次随机事件,作用在系统所有的activity,)
    -h (查看monkey命令列表)
    -s 666(指定随机事件序列(666)的种子值)
    -p com.tencent.mm(指定包名并操作,支持操作多个包)
    -f  指定事件流文件的路径

Monkey是Android系统自带的一种压力测试工具,主要用于模拟用户随机操作应用,并检测是否存在崩溃或异常情况。常用参数如下:

序号0:--pct-touch:设置触摸事件的百分比。
序号1:--pct-motion:设置滑动事件的百分比。
序号2:--pct-pinchzoom:设置二指缩放百分比。
序号3:--pct-trackball:设置轨迹球事件的百分比。
序号4:--pct-rotation:设置屏幕旋转事件百分比。
序号5:--pct-permission:设置运行时权限开关事件百分比。
序号6:--pct-nav:设置导航事件的百分比。
序号7:--pct-majornav:设置主要导航事件(如返回、菜单)的百分比。
序号8:--pct-syskeys:设置系统事件的百分比。
序号9:--pct-appswitch:设置应用切换事件的百分比。
序号10:--pct-flip:设置键盘翻转事件的百分比。
序号11:--pct-anyevent:设置任意事件的百分比。 
    
--throttle:设置事件之间的时间间隔,单位为毫秒。
--randomize-throttle:随机化事件之间的时间间隔。

--ignore-security-exceptions:忽略由安全管理器引发的异常。
--ignore-timeouts:忽略超时异常。
--ignore-crashes:忽略crash异常。
    
--monitor-native-crashes:监控本地崩溃。

--kill-process-after-error:在出现错误时杀死进程。

--pkg-blacklist-file:指定一个包名黑名单文件,其中列出的应用程序将被排除在测试之外。
--pkg-whitelist-file:指定一个包名白名单文件,只有列出的应用程序才会被测试。

--hprof:在测试期间生成堆转储文件。

冷启动:用户第一次打开应用程序或完全关闭后再次打开时的过程

热启动:应用程序没有被关闭,而是在后台运行,再次打开该程序的过程

1、如何让手机与PC机进行连通?

a、下载并配置adb环境变量和jdk环境变量。

b、在命令提示符内,输入“adb”,检测adb环境变量是否配置成功。

c、数据线连接PC机和手机。

d、打开开发者选项,开启USB调试。

e、返回到cmd命令提示符内,输入“adb devices”,观察是否识别到手机设备号,若看到设备号,则表示手机与PC机连通。

2、如何找到开发者选项?

设置里搜索版本信息->多次点击软件版本号->重进设置搜索开发者选项->打开开发者选项

3、一键root(刷机)的好处是什么?

可以管理手机原有的预装应用软件(可以随时是超级用户权限)。

4、安卓设备的app后缀名是.apk(IOS设备的app后缀名是.ipa)

5、Monkey测试是一种测试软件稳定性、健壮性的快速有效的方法。

Monkey测试目前被大规模应用在APP开发企业。

6、ADB(Android Debug Bridge)安卓调试桥,Adb是android sdk包里面的一个工具,可以在电脑上建立一个连接到手机的通道,用ADB可以直接操作管理android模拟器或者真实的android设备中的应用程序。

7、SDK(Soft Development Kit ):

软件开发工具包,adb应用程序就是在SDK包中。

8、JDK(Java Development Kit)

Java 语言的软件开发工具包, 包括了Java运行环境JRE (JVM等)、Java工具 (javac/java/jdb等) 和Java基础类库。

9、AVD(Android Virtual Device):安卓虚拟设备

10、在安卓模拟器中,输入“su”可以切换到超级用户权限。

11、若在monkey日志中出现“ANR、Exception、aborted、Carshed、error”字样,则表明monkey测试失败了。

12、Monkey测试概念总结:

Monkey测试是一种在Android平台下使用的自动化测试工具,用于帮助开发人员测试应用程序的稳定性和健壮性。它可以模拟用户的各种操作,如触摸、滑动、按键等,并向系统发送伪随机事件流来检测应用程序的反应。

Monkey测试是一种快速有效的测试手段,可以帮助开发人员及时发现并解决应用程序中的问题。

13、Android Device Monitor(安卓设备监控)

14、monkey自动化随机测试的步骤:

①下载android SDK工具和jdk并配置其环境变量

②下载模拟器或者准备一台手机

③在模拟器或手机中装入待测APK程序

④在命令行中利用ADB工具调用monkey对apk应用进行模拟事件(基本参数、事件参数、调试约束参数)加压测试

⑤monkey崩溃则提单(分析并定位出bug位置。)

15、针对app,用户最关心的几项性能指标有:

a、待测app流畅度

b、待测app是否占用手机较大内存

c、app运行时,消耗流量如何

d、app运行中,消耗手机电量如何

e、app运行中,手机温度变化如何

f、app运行中,消耗手机cpu使用率如何

g、待测app兼容性(品牌手机的兼容、手机系统的兼容)

h、待测app安全性。

i、待测app易用性。

j、待测app在弱网环境下能否正常运行

16、手机帧速率(fps)是帧速率也称为FPS(Frames Per Second)的缩写——帧/秒。

手机帧速率是指每秒钟刷新的图片的帧数,也可以理解为图形处理器每秒钟能够刷新几次。

如果具体到手机上就是指每秒钟能够播放(或者录制)多少格画面。同时越高的帧速率可以得到更流畅、更逼真的动画。每秒钟帧数(FPS)越多,所显示的动作就会越流畅。捕捉动态视频内容时,此数字愈高愈好。

17、如何查看手机的FPS?

在设置>关于>连续点击手机的版本号,开发者选项有Android设备都使用FPS Meter来显示帧率。它能通过悬浮的形式显示游戏实时帧数、最高帧数、最低帧数以及平均帧数(最近一分钟内)等信息,使用它需要手机获取Root权限.特别需要注意的是,使用 FPS Meter 需要在开发者选项中打开 " 停用 HW 叠加层 ".

GPU英文全称GraphicProcessingUnit,中文翻译为“图形处理器”。GPU是显示卡的“大脑”,它决定了该显卡的档次和大部分性能,在手机主板上,GPU芯片一般都是紧挨着CPU芯片的。智能手机上的图形处理需求突飞猛进,无论是分辨率从VGA到1080P、2K甚至4K;还是主机游戏手游化,以往休闲益智类游戏到现在越来越多的大型游戏登陆手机,同时AR/VR、影像复杂渲染等日趋流行,都对手机图像处理能力提出了极高的要求。

VR 虚拟现实技术是一种可以创建和体验虚拟世界的计算机仿真系统它利用计算机生成一种模拟环境是一种多源信息融合的交互式的三维动态视景和实体行为的系统仿真使用户沉浸到该环境中。

AR 增强现实是一种实时地计算摄影机影像的位置及角度并加上相应图像的技术,这种技术的目标是在屏幕上把虚拟世界套在现实世界并进行互动。这种技术最早于1990年提出。随着随身电子产品运算能力的提升,增强现实的用途越来越广。

18、monkey压力测试的流程:

1、配置SDK环境变量。

2、准备安装安卓模拟器/连接真机

3、从开发获取预测的app包。

4、使用adb命令把app包安装在模拟器中。

5、使用monkey命令执行测试(包括添加事件、种子、打印日志、添加调试参数等等)

6、把打印的日志文件输出到本地电脑。

7、添加监控(Emmage),让它能打印出报告。

8、同时再使用monkey执行测试

9、查看测试报告,并分析结果

19、问:苹果手机怎么获得要测的包

①将手机给开发,开发直接打进去

②开发打ipa包给你,然后自己电脑装个itools,手机连电脑,双击ipa包,选择设备就安装到手机

苹果的app的后缀是.ipa

如果要上线的话,把app上传app store,等着审核通过就可以了,通常苹果的app审核要9天;安卓一般情况下不用审核。

20、Fiddler工具的原理:

Fiddler是最强大最好用的Web调试工具之一,它能记录所有客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数据的抓包工具。

21、手机app如何实现弱网测试?

第一种方法:分别使用2G/3G/4G不同的网络信号,依次对所测的app进行一系列操作,从而记录数据并分析结果!

第二种方法:

1、在PC机上下载一个免费360WIFI。

2、把被测app安装到真机上,并且开启本机的WiFi。

3、打开手机设置-WLAN-找到WiFi的名称-输入密码,即可连接。

4、打开本机WiFi的设置-已连接的手机-限速管理-输入限制的速度,从而达到弱网的效果。

5、对被测app进行相关操作,记录数据并分析结果。

第三种方法:使用fiddler工具

1、开启fiddler,设置好端口号:8888

2、在本机上安装一个免费WiFi,并且查找出无限WiFi的IP地址(172.28.48.1)

3、准备一部手机,使其连接上电脑的WiFi,并且修改网络配置,输入对应的IP地址和端口号。

4、随意的在手机上进行一系列操作,则可以在fiddler上查看数据。

5、点击Rules-Customis rules,弹出一个Customis rules脚本

6、向脚本中添加oSession[“request-trickle-delay”] = “3000”;让请求延迟3秒,达到弱网环境。(响应延迟亦是如此)

7、可以在手机上点击一列操作,就可以进行弱网测试。

22、目前主流的移动设备有:Android(app后缀是.apk)、IOS(app后缀是.ipa)

非主流移动设备有:黑莓、塞班、Firefox OS

23、Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。

24、app自动化测试框架常见的有monkey、appium、monkeyrunnner、UIAutomator等等。

25、目前第三方手机app测试平台有:腾讯优测、百度MTC云测。

26、Android操作系统最初由Andy Rubin开发,主要支持手机。2005年8月由Google收购注资。第一部Android智能手机发布于2008年10月。

27、App类型大概分为三种:原生应用程序(Native App)、混合应用程序(Hybrid App)、Web版APP (Web App)

28、手机app测试大致测试范围包含以下几种?

app性能测试、app自动化测试、app弱网测试、app安全性测试、app兼容性测试、app易用性测试、app流量测试、app安装/卸载测试。

标签:shell,--,app,Notes,adb,测试,手机,APP
From: https://www.cnblogs.com/xiaoxiangstudy/p/17412895.html

相关文章

  • 软件测试系列:移动端安卓APP测试必备之ADB命令 (二)
    adb常见命令1、查看日志adblogcat-vtime表示打印时间adblogcat-vcolor表示使用不同的颜色来显示每个优先级adblogcat-f<filename>表示将日志输出到文件(文件存在手机上),例如,adblogcat-f/sdcard/log.logadblogcat>log.log表示保存日志到PC上adblogca......
  • 第四十届中国软件质量大会:APP专项测试
    结合我自身的经验与本次大会宋琦(俊逸)老师的讲解,我将从以下几个方面来说为什么进行APP专项测试和如何进行。1.什么是专项测试,手机的专项测试有哪些?   专项测试是为了与区分pc端开来,移动端所特有的,例如:弱网,安装升级卸载,系统兼容(安卓(各个厂商),ios),系统交互,性能等;2.为什么进行专项......
  • MybatisPlus中LamdaQueryWrapper 与 QueryWrapper的使用及区别
    一、QueryWrapper的使用;比如有一张表trolley_itme,需要通过device_id查询出符合条件的所有数据(返回List集合);1、QueryWrapper的最基础的使用方式是这样的:必须写清楚具体的字段名称(即有硬编码的嫌疑)//查询条件的构造器:QueryWrapper<TrolleyItme>queryWrapper=new QueryWra......
  • 海草生活APP对比于咚咚生活APP明显优势
    随着互联网的发展,电商的兴起,微信小程序也随之成为了我们生活中必不可少的一部分。小程序凭借着“无需下载”“无需安装”“即用即走”等特点,已经成为了大众创业的热门项目。如今,随着小程序的普及,一款能同时满足商家和消费者需求的小程序出现了——海草生活APP。海草生活APP是一......
  • 工作任务不再遗忘,好用的待办事项APP
    在快速发展的现代职场中,很多职场人士表示自己每天要记住、要完成的工作任务非常多,并且这些任务错综复杂,一不留神就会忘记今天待办的工作任务,这应该怎么办呢?其实每个人的记忆力都是有限的,如果想要不再遗忘每项工作任务,借助一款待办事项提醒APP就可以了。那么有没有一款好用的待办......
  • 开源即时通讯IM框架MobileIMSDK的Uniapp端开发快速入门
    ► 相关链接:① MobileIMSDK-Uniapp端的详细介绍② MobileIMSDK-Uniapp端的开发手册new(* 精编PDF版)一、理论知识准备您需要对Uniapp和Vue开发有所了解:1)Uniapp官方入门教程2)可能是最好的uniapp入门教程3)Uniapp官方Vue快速入门教程您需要对WebSocket技术有所了......
  • uniapp中wx.startLocationUpdateBackground切换到后台仍能间隔上报当前位置
    1.在manifest.json中修改"mp-weixin":{ "appid":"*******",//自己的appid "setting":{ "urlCheck":false }, "usingComponents":true, "requiredPrivateInfos":[ "chooseLocatio......
  • python 性能测试之获取app fps
    一、功能描述该脚本主要是获取视频/语音通话、语音房、看视频等app的fps 二、代码实现importos,csvimporttimeimportnumpyasnpfrommatplotlibimportpyplotaspltfromsubprocessimportPopen,PIPEfromcheck_packageimportcheck_packageimportmath......
  • 什么是 Angular 应用的 browser Application bundles 和 server Application bundle
    我们在使用yarnrun启动Angular应用时,注意到browserApplication和serverApplicationbundle的生成:在Angular应用程序中,应用程序包含两个主要的部分:客户端应用程序和服务器应用程序。客户端应用程序是在Web浏览器中运行的Angular应用程序,而服务器应用程序是在服......
  • SpringBoot项目预加载数据——ApplicationRunner、CommandLineRunner、InitializingBe
    0、参考、业务需求参考:https://www.cnblogs.com/java-chen-hao/p/11835120.html#_label1https://zhuanlan.zhihu.com/p/541268993业务需求:缓存数据字典数据、初始化线程池、提前加载好加密证书1、方式实现ApplicationRunner接口实现CommandLineRunner接口实现In......