史上最全的ADB命令,详细学习不亏!(APP测试)

 常用ADB命令介绍:

目录

 常用ADB命令介绍:

ADB工具的介绍:ADB(  Android    Debug     Bridge  )是一个通用的命令行工具,也是Android 软件测试开发工作者常用的调试工具

ADB命令: 可用来安装卸载、管理安卓系统软件、启动测试、抓取日志等

  1. 查看adb是否安装: adb version
  2. 连接设备: adb connect   连接设备的IP: 连接设备的端口号
  3. 断开设备:adb disconnect 连接设备的IP: 连接设备端口号

真机如何进行远程调试的步骤:

注意事项:必须保证手机 和电脑连接的是同一路由器

  1. 将手机用数据线连接到PC端(电脑)
  2. adb devices        //监测设备是否连接上(监测连接的设备数)
  3. adb tcpip 555      // 确认手机端和PC端的通讯端口号为555
  4. 拔掉数据线 , adb connect  连接设备的IP    // 连接设备(手机)
  5. 取消远程调试 adb disconnect 连接设备的IP

 基础命令

  1. 显示系统中的全部设备: adb devices
  2. 开启关闭adb服务:  
  3.  (1)开启adb服务: adb start-server
  4.    (2) 关闭adb服务:adb kill-serve

  1. 获取软件包名: 
  • (1)     adb shell dumpsys window|findstr mCurrentFocus      //方法二                     
  •  (2)     adb shell dumpsys window|findstr"Current"      //方法二

 安装软件:

  • (1)adb install   [apk文件路径]    //apk指的是安卓应用程序的安装包                 
  • (2)adb install  -r  [apk文件路径]    //  加参数 -r 表示覆盖安装,保留缓存和数据处理  ;  apk文件路径 也可以将apk文件包直接拖进cmd命令窗口,前面要加上空格再进行操作。

卸载软件:                                                                                                       

  • (1)adb uninstall [文件名,即包名]                                                                       
  • (2)adb uninstall  -  [文件名,即包名]    //  加参数 -k 表示卸载软件,保存配置和缓存文件

   列出连接设备的软件的包名:     

  1. 列出设备(手机)中所有的APP包名:adb shell pm list packages   
  2. 列出设备中系统应用的所有包名: adb shell pm list packages -s                    
  3. 列出除了系统应用的第三个应用的包名: adb shell pm list packag   
  4. 使用grep来过滤: adb shell pm list packages|grep qq   
  5.  列出系统应用的包名及其安装路径:adb shell pm list packages  -f 
  6. 列出当前应用的包名和activity: adb shell dump activity  activities  
  1. 进入手机系统(进入shell模式):adb  shell     //按Ctrl+c 或exit 退出shell模式
  2. 查看进程: adb shell ps
  3. 查看被占用端口对应的PID:   netstat -aon|findstr "端口号"
  4. 杀死某个进程: 

     (1)taskkill /pid 进程号 /f   //杀死单个进程                                                                         (2)taskkill /pid   进程号1   /pid   进程号2 .... /pid   进程号n  /f  //杀死多个进程 

  1. 启动应用程序:adb shell am start -n 包名/activity名                                                    例子:adb shell am start -n  com.baidu.appsearch/com.baidu.appsearch.MainActivity
  2. 强制停止应用程序: adb shell am force-stop 包名                                                             例子: adb shell am force-stop com.baidu.appsearch
  3. 指定APP生成随机事件100次: adb shell mokey -p 包名 100                                          例子:adb shell mokey -p com.baidu.appsearch 100 
  4. 指定APP生成随机事件100次并发送详细的activity信息adb shell monkey -p 包名 -v -v 100                                                                         

        例子:adb shell monkey -p com.baidu.appsearch -v -v 100 

     5.清除应用程序的缓存数据:adb shell pm clear com.baidu.appsearch                                                                          // com.baidu.appsearch是包名

  1.  获取文件的读写权限:adb remount                                                                            注意:有些设备不能直接 adb remount ,必须先执行 adb root,获取root权限,再执行 adb    remount
  2. 截屏(截图)并保存文件在手机上命名为xx.png  :  adb shell /system/bin/screencap -p /sdcard/xx.png       // 截图保存到手机的/sdcard/目录下
  3. 将手机上xx.png文件保存到电脑d盘中: adb pull /scard/xx.png D:/xx.png    //xx.png ,文件名可以重新随机命名的,不是固定的
  4. 将电脑d盘上xx.txt文件上传(导入)到安卓设备(手机):adb push D:/xx.txt  /adcard/xx.txt    //xx.txt这个文件名  可以随便命名  
  5. 抓取日志之前先清理一下以前的日志的命令:adb logcat - c

  6. 把日志输出到手机的指定目录中: adb locat -f 指定目录(如:/data/log.txt)

  7. 获取APP日志(导出日志文件到本地电脑中):adb logcat>指定路径 

  • 例子1: adb logcat>D:\logs\log.txt   //将日志保存到D:\logs\这个路径下,文件命名为log.txt
  • 例子2:adb logcat -v time >D:\logs\log.txt   //   让日志展示时间戳

  • find过滤包名

    如果直接用adb logcat,会将很多没用的一起加载,如果只想抓取被测app的日志,就需要对包名进行过滤,其命令如下:adb logcat |find"com.baidu.appsearch">D:/log/log.txt

  • 注:com.baidu.appsearch为应用程序的包名,测试换成自己测试的应用程序的包名即可。

常见的操作文件夹的命令:

注意:操作文件和文件夹有时会出现权限不够,Read-only file system,就需要 adb remount操作,获取权限。

  • cd system /sd/ data      //进入系统内指定的文件夹
  • ls              //列表显示当前文件夹的内容
  • mkdir  xxx  创建文件夹    //xxxx,代表文件夹名字
  • rm -r  xxx    删除文件夹    //xxx,代表文件夹名字,加参数 -r 表示删除文件夹及其里面的内容
  • rm  xxx  删除文件    //xxx,代表文件名字
  • rmdir xxx                //删除xxx的文件夹
  • exit                 //退出adb shell 模式   ,或者Ctrl +c 也可以退出shell模式

进阶命令:

adb shell dumpsys   

Andorid 系统是基于Linux系统开发的,支持常见的Linux命令

  1. adb shell ,通过此命令进入设备或者模拟器的shell环境
  2. adb shell [command(指令)] ,加上Linux指令和参数完成指令的执行
  3. 做Andorid安卓前端性能测试的时候,为了检查是否存在内存泄露的情况,需要获取系统的内存:

             adb shell dumpsys meminfo packagename(包名)              

   例子:adb shell dumpsys meminfo com.baidu.appsearch    //可以查询到内存的使用情  况


  • 检查CPU占用率是否过高,需要获取CPU信息:
  •        adb shell dumpsys cpuinfo packagename(包名)         
  •        例子: adb  shell dumpsys cpuinfo com.baidu.appsearch
  • 性能测试是,如果关注前台耗电量和后台耗电量,可以使用以下命令:
  •                adb shell dumpsys battery
  1. 获取手机内存信息:adb shell cat /proc/meminfo
  2. 查看系统的内核: adb shell cat /proc/version
  3. 查看系统时间:adb shell date
  4. 获取手机存储信息: adb shell df
  5. 获取手机内部存储信息:

     1)魅族手机: adb shell df /mnt/shell/emulated                                                                    2)  其他手机: adb shell df /data


  1. 获取手机存储信息: adb shell df /storage/sdcard
  2. 获取手机系统信息(CPU、厂商名称等):adb sehll  " cat /system /build.pro|grep "product"   "
  3. 获取手机系统版本:adb shell getprop ro.build.version.release
  4. 获取手机系统的api版本: adb shell getprop ro.build.version.sdk
  5. 获取手机的设备型号: adb -d shell gerprop ro.product.model
  6. 获取手机厂商名称:adb -d shell getprop ro.product.brand
  7. 获取手机的序列号:

        1)adb get-serialno          //方式一                                                                           

         2)  adb shell getprop ro.serialno    //方式二

  1. 获取手机Mac地址: adb shell cat /sys/class/net/wlan0/address
  2. 获取手机的分辨率: adb shell  " dumpsys window|grep mUnrestrictedScreen "
  3. 获取手机物理密度:adb shell wm density
  4. 获取手机IMEI:

(1)adb sehll dumpsys iphonesubinfo   //其中Device ID 为IMEI号     //方式一                     (2)adb shell getprop gsm.baseband.imei        //方式二                                   

(3)service calliphonesubinfo 1   //方式三  ,此种方式,需要处理获取后的信息得到           

终于写完了,路漫漫其修远兮,大家一起加油吧!

 码字不易,喜欢的朋友可以点赞关注加收藏哦,上文有问题的地方欢迎大家积极指教。

  • 9
    点赞
  • 89
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 史上最全app通用测试用例可能会包括以下几个方面的测试用例: 1. 用户界面测试: - 应用的布局和界面是否符合设计要求; - 界面是否美观、易用; - 按钮、链接和其他互动元素是否正常响应。 2. 功能性测试: - 对应用的各项功能进行测试,例如登陆、注册、查看数据、上传文件等; - 确保功能的正常运行和响应速度; - 对不同的输入参数进行测试,确保应用能够正确处理各种情况。 3. 兼容性测试: - 测试应用在不同操作系统、不同设备上的兼容性; - 确保应用在不同的手机型号和尺寸上都能正常运行。 4. 安全性测试: - 检查应用的数据传输是否加密; - 检查应用是否有足够的防护措施,例如防止SQL注入、XSS攻击等; - 检查应用是否有足够的权限管理措施,例如用户权限分配、数据保护等。 5. 性能测试: - 对应用进行负载测试测试在大量用户同时访问时的性能表现; - 测试应用的响应速度、资源占用情况等; - 测试应用是否能够处理大量数据,例如大文件的上传下载等。 6. 可靠性测试: - 对应用进行稳定性测试测试在长时间运行时是否会出现崩溃或资源泄漏等问题; - 测试应用是否能够正确处理异常情况,例如网络中断、服务器宕机等。 7. 用户体验测试: - 进行用户调研,了解用户对应用的使用体验、反馈和建议; - 根据用户的反馈进行优化和改进。 请注意,以上只是对app通用测试用例的简要描述,具体的测试用例会根据应用类型、功能和需求等因素进行调整和补充。 ### 回答2: 通用的APP测试用例有很多,以下列举一些常用的用例: 1. 启动测试测试APP是否能够成功启动,包括正常启动、快速启动、错误启动等情况。 2. 用户注册与登录:测试用户注册和登录功能,包括账号密码输入正确性验证、注册登录成功与失败的提示等。 3. 界面测试测试APP的各个界面和页面的布局、样式、交互是否正确显示和正常工作。 4. 功能测试测试APP的各个功能,包括各个按钮、菜单、链接等功能是否可以正常使用和操作,以及是否符合用户预期。 5. 数据输入输出测试测试APP对于用户输入的数据能否正确保存和显示,以及对于外部数据的读取和操作是否正确。 6. 权限测试测试APP的各个功能和页面对于用户权限的控制是否正确,包括对于不同用户身份的权限限制等。 7. 网络测试测试APP在不同网络环境下的使用情况,包括网络连接断开后的处理、数据加载速度等。 8. 异常处理测试测试APP对于各种异常情况的处理能力,包括用户输入错误、网络异常、系统异常等情况。 9. 兼容性测试测试APP在不同操作系统版本、不同设备型号上的使用情况,以及与其他APP的兼容性。 10. 性能测试测试APP在不同负载情况下的性能表现,包括响应速度、占用资源等指标。 以上只是一些通用的测试用例,实际中根据APP的具体功能和特点,还需要针对性地添加其他的测试用例。测试用例的目的是为了发现APP中的问题和漏洞,提高APP的品质和用户体验。正确编写和执行测试用例可以有效提高测试效率和测试准确性。 ### 回答3: 史上最全app通用测试用例可以按照以下几个方面进行分类:界面测试用例、功能测试用例、性能测试用例和兼容性测试用例。 首先是界面测试用例。这些测试用例主要验证app的界面设计是否合理、易用和符合用户需求。例如,验证按钮和图标的位置、颜色和大小是否符合预期、文字是否显示正确等。 其次是功能测试用例。这些测试用例主要验证app的各项功能是否正常工作,包括登录注册、搜索、下单购买、支付等。例如,验证用户能否成功登录、测试搜索功能是否准确返回结果、验证订单是否能够正常生成和支付等。 第三是性能测试用例。这些测试用例主要验证app在不同负载下的性能表现,包括响应时间、吞吐量和稳定性等。例如,验证app在多种网络环境下的响应时间和加载速度、测试大数据量下的性能表现、验证app在长时间使用后是否会出现卡顿或崩溃等。 最后是兼容性测试用例。这些测试用例主要验证app在不同平台、不同版本和不同屏幕尺寸下的兼容性。例如,测试app在iOS和Android平台上是否能够正常运行、验证app在不同操作系统版本上的兼容性、测试app在不同屏幕尺寸上的显示效果等。 总结起来,史上最全app通用测试用例应该包括界面测试用例、功能测试用例、性能测试用例和兼容性测试用例。在测试过程中,根据具体需求和特点,可以进一步细化和扩展这些测试用例,以确保app的质量和稳定性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值