做app的测试,你大概率会用到这个命令,尤其是做monkey测试

news2024/11/26 12:24:18

在这里插入图片描述

1.普通命令

1.1 devices命令

 语法格式 :adb devices [-l] 
# 作用 :返回已连接设备的信息
# 示例 :
    adb devices     : 返回设备的信息
    adb devices -l  : 返回设备的详细信息

1.2 help命令

 语法格式 :adb --help
# 作用 : 查看adb命令的帮助信息
# 示例 : adb --help       : 返回adb命令的帮助信息

1.3 version命令

 语法格式 :adb version 
# 作用 :查看adb命令的版本信息
# 示例 :
    adb version     : 返回设备的版本信息

2.网络命令

2.1 connect命令

# 语法格式 :adb connect host[:port] 
# 作用 :连接到一个设备上
# 示例 :
    adb connect 127.0.0.1:21503     : 连接电脑上的模拟器

2.2 disconnect命令

 语法格式 :adb disconnect host[:port] 
# 作用 :断开设备的连接
# 示例 :
    adb disconnect 127.0.0.1:21503      : 与模拟器断开连接

3.文件传输

3.1 push命令

# 语法格式 :adb push 本地文件 手机的路径 
# 作用 :将电脑端的文件推到到手机上
# 示例 :
    adb push abcd.log /data/test        : 将本地文件abcd.log推送到手机的/data/test目录下

3.2 pull命令

 语法格式 :adb pull 手机文件 本地路径
# 作用 :将手机文件拉倒本地
# 示例 :
    adb pull /data/test/monkey.log .        : 将手机路径下/data/test/monkey.log拷贝到电脑端的当前路径下

4.shell脚本

安卓系统是基于Linux系统开发,也就支持常见的Linux的命令,若在window客户端下执行时需要用adb shell 命令 。或者是先输入adb shell 。进入shell程序后,然后执行下面的命令 。

4.1 普通命令

普通命令是指在shell执行的命令和Linux下的命令是一样的 ,比如:ls , cp ,cd ,touch ,mkdir等命令在adb shell下都可以执行。

4.2 screencap 命令

 截图当前手机屏幕
adb shell screencap -p 路径/png图片

4.3 monkey命令

作用:主要用于Android上的应用进行压力测试或稳定性测试的一个工具, 主要目的是测试app在长时间压力下是否产生Crash(崩溃)或无响应.

语法格式 : monkey [基本参数] [事件参数] [调试参数]

基本参数

在这里插入图片描述

### 以下命令是指定基本操作的情况


# 1.发送200个随机指令 (不带任何参数)
abd shell monkey 200
# 2.指定具体包名,并指定比较详细的日志 ,运行200次 :
abd shell monkey -p com.lchr.diaoyu -v -v 200
# 3.每个事件结束后,用于设置间隔时间,用于降低系统压力 。
adb shell monkey -p com.lchr.diaoyu --throttle 500 200 #每个指令之间延时500毫秒 。
# 4.设置种子值,以预备后续重复执行相同指令 。
adb shell monkey -p com.lchr.diaoyu -s 1001 200 # 设置种子值1001,随便指定即可,主要用于回归测试。

事件参数

在这里插入图片描述

# 设置各事件运行的比率,总比率之和需等于100
adb shell monkey -p com.lchr.diaoyu --pct-touch 50 --pct-motion 10 --pct-majornav 20 --pct-syskeys 10 --pct-anyevent 10 -s 15 --throttle 500 -v -v -v 500 

调试参数

在这里插入图片描述

# 设置各事件运行的比率,同时忽略应用程序崩溃和无影响导致的停止。
adb shell monkey -p com.lchr.diaoyu --pct-touch 50 --pct-motion 10 --pct-majornav 20 --pct-syskeys 10 --pct-anyevent 10 -s 15 --throttle 500 -v -v -v --ignore-crashes --ignore-timeouts 50000 > monkey.log 
## 4.4 pm命令

 语法格式 :
    pm list packages [-f] [-d] [-e] [-s] [-3] [-i] [-u] [--user USER_ID] [FILTER]
    pm install [-lrtsfd] [-i PACKAGE] [PATH]
    pm uninstall [-k] [--user USER_ID] PACKAGE
    pm clear [--user USER_ID] PACKAGE
# 作用 :包管理应用程序
# 示例 
    pm install /data/test/diaoyu_3.5.20_wap_release1.apk        # 安装apk应用程序
    pm list packages -3     # 显示所有第三方应用程序
    pm uninstall com.lchr.diaoyu

list packages 参数

在这里插入图片描述

install 安装参数

在这里插入图片描述

uninstall 参数

在这里插入图片描述

5.apk安装

5.1 install命令

# 语法格式 :adb install apk安装包
# 作用 :将电脑端的apk安装包安装到移动设备上
# 示例 :
    adb install diaoyu_3.5.20_wap_release1.apk
# 说明 : 此安装命令和pm里的安装基本一样 。 adb install = push apk安装包 + pm install apk安装包 

5.2 install-multiple命令

# 语法格式 :adb install apk安装包
# 作用 :将电脑端的apk安装包安装到移动设备上
# 示例 :
    adb install-multiple BaiduTranslate_webbannerfinal.apk diaoyu_3.5.20_wap_release1.apk   # 同时安装两个包

5.4 uninstall命令

 语法格式 :adb uninstall [-k] 包名
# 作用 :将移动端的app卸载掉 ,其中-k 代表保留app的数据和缓存
# 示例 :
    adb uninstall com.lchr.diaoyu
# 说明 : 此卸载命令和pm里的安装基本一样 。 adb uninstall 应用包名 = pm uninstall 应用包名

6.内部调试

6.1 bugreport命令

# 语法格式 :adb bugreport [-k] 包名
# 作用 :输入指令后开始抓取移动端上的日志,不需要按Ctrl+C来停止,会自动化停止Log打印,并将日志文件保存在本地。抓取日志的步骤:主要抓取执行命令时往前10分钟左右的日志信息,所以在出现bug后立即采用此方法才有效,问题出现时间太长不建议使用此方法。此命令运行Android7.0以上的系统上。
# 示例 :
    adb bugreport .         # 将日志输出到本地的当前路径下

6.2 logcat命令

作用 :抓取移动设备上的日志 。

格式 : adb logcat [选项] [过滤器设置]

选项说明 :

在这里插入图片描述

# 格式 :adb logcat [**选项**] [过滤器设置]  

# 说明 :根据以上日志格式可以看出 ,可以有如下组合 。

# 1. 不加任何选项和过滤器
adb logcat      # 查看所有的日志信息 


# 2. 只加上选项
adb logcat -c       # 清空所有日志
adb logcat -t 10    # 输出最近10行的日志
adb logcat -v time  # 日志加上时间
adb logcat -v time -f /data/test/a.log      # 将有时间的日志输出到文件 。
adb logcat -s WifiStateMachine              # 输出tag为WifiStateMachine的日志,相当于筛选的关键字

# 3. 只加上过滤器
adb logcat *:I      #输出大于等于I级别的日志
adb logcat end:W    # 输出end标签以及W及以上级别日志

# 4. 选项和过滤器都包含的情况
adb logcat -v time *:W          # 输出日期格式并且为W级别以及以上的日志


# 5. 也可以加上findstr进行字符过滤 ,需要注意的是在windows下运行为findstr,在手机端运行为grep
adb logcat | findstr 过滤符
adb logcat | findstr com.motk

7.脚本及调试

7.1 start-server命令

# 语法格式 :adb start-server 
# 作用 :启动adb服务,因为和真机连接时间长时,有可能出现异常,通过此命令可以重启此服务
# 示例 :
    adb start-server

7.2 kill-server命令

 语法格式 :adb kill-server
# 作用 :停止adb服务
# 示例 :
    adb kill-server

7.3 get-state命令

# 语法格式 :adb get-state
# 作用 :查看adb服务
# 示例 :
    adb get-state       

7.4 get-devpath命令

 语法格式 :adb get-devpath
# 作用 :获取设备路径
# 示例 :
    adb get-devpath     # 获取设备路径

7.5 remount命令

 语法格式 :adb remount
# 作用 :重新挂载文件系统 ,一般运行此命令前需要先运行adb root
# 示例 :
    adb remount

7.6 root命令

 语法格式 :adb root
# 作用 :以root权限重启adbd守护进程
# 示例 :
    adb root

7.7 usb命令

 语法格式 :adb usb
# 作用 :通过usb重启adbd监听
# 示例 :
    adb usb

7.8 tcpip命令

# 语法格式 :adb tcpip port
# 作用 :通过TCP重启adbd监听
# 示例 :
    adb uninstall com.lchr.diaoyu

如果你不想一个人野蛮生长,找不到系统的资料,问题得不到帮助,坚持几天便放弃的感受的话,可以加入我们的QQ群:746506216,大家可以一起讨论交流,里面会有各种软件测试资料和技术交流。


资源分享

下方这份完整的软件测试视频学习教程已经上传CSDN官方认证的二维码,朋友们如果需要可以自行免费领取 【保证100%免费】

在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/42614.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

人工智能:人工神经网络的应用场景

❤️作者主页:IT技术分享社区 ❤️作者简介:大家好,我是IT技术分享社区的博主,从事C#、Java开发九年,对数据库、C#、Java、前端、运维、电脑技巧等经验丰富。 ❤️个人荣誉: 数据库领域优质创作者🏆&#x…

android接入微信API相关细节

细节1 想要接入微信,如接入分享微信功能、跳转小程序功能等;首先需要到微信开放平台申请AppId,如何申请在开放平台上的流程很清楚,就不赘述了 但有个细节就是应用包名签名,这个应用包名签名记得是以app有正式签名文件…

WebDAV之葫芦儿·派盘+思源笔记

思源笔记 支持webdav方式连接葫芦儿派盘。 想要一款支持全平台,支持Markdown语法,还支持大纲、块级双向链接、全文搜索、标签分类、数学公式、思维导图 / 流程图、代码片段、跨平台同步等全功能的笔记APP吗?推荐您使用思源笔记与葫芦儿派盘结合方案。 思源笔记是一款本地…

位 运 算

位运算符 在处理整形数值时&#xff0c;可以直接对组成整形数值的各个位进行操作。这意味着可以使用屏蔽技术获得整数中的各个位&#xff08;&#xff1f;&#xff1f;&#xff09; &(与)、|(或)、^(异或)、~(非/取反) “>>” 和 “<<” 运算符将二进制位进行…

06 Job/CronJob: 为什么不直接用Pod来处理业务?

文章目录1. 前言2. 为什么不直接使用pod?2.1 面向对象的设计思想3. 为什么要有Job/CronJob3.1 离线业务的种类4. 如何使用 YAML 描述 临时任务 Job4.1 Job 的 YAML“文件头”4.2 使用kubectl create 生成模板文件4.3 Job 的 YAML body 部分“spec ”4.4 如何在Kubernetes 里操…

【C++ STL容器】:vector存放数据

前言 时不可以苟遇&#xff0c;道不可以虚行。 STL 中最常用的容器为&#xff1a;vector&#xff0c;暂且把它理解为我们之前学过的数组Array。 一、创建一个vector容器&#xff08;数组&#xff09; 添加头文件&#xff1a;#include <vector> vector<int> v;二、…

数商云渠道商协同系统对机械企业的应用价值体现

当前&#xff0c;国内机械市场环境较复杂&#xff0c;竞争日趋激烈&#xff0c;使用单一营销渠道模式已不能适应多变的环境&#xff0c;而代理商群体作为机械行业主流营销渠道&#xff0c;也在“价格战”环境下生存空间被进一步挤压&#xff0c;因此&#xff0c;如何采用领先的…

小啊呜产品读书笔记001:《邱岳的产品手记-13》第24讲 产品案例分析:PathSource的混乱与直观 25讲 产品世界的暗黑模式:操纵的诱惑

小啊呜产品读书笔记001&#xff1a;《邱岳的产品手记-13》第24讲 产品案例分析&#xff1a;PathSource的混乱与直观 & 第25讲 产品世界的暗黑模式&#xff1a;操纵的诱惑一、今日阅读计划二、泛读&知识摘录1、第24讲 产品案例分析&#xff1a;PathSource的混乱与直观2、…

进程与信号(一)

目录 一、前言 二、What Is a Process 三、Process Structure 1、The Process Table 2、Viewing Processes 3、System Processes 4、Process Scheduling 一、前言 进程和信号是 Linux 操作环境的基本组成部分。它们控制 Linux 和所有其他类 unix 计算机系统执行的几乎所…

全新版互联网大厂面试题,分类65份PDF,累计2000页

全新版互联网大厂面试题题库非常全面 包括 Java 集合、JVM、多线程、并发编程、设计模式、Spring全家桶、Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、MongoDB、Redis、MySQL、RabbitMQ、Kafka、Linux、Netty、Tomcat、Python、HTML、CSS、Vue、React、JavaS…

github-将本地代码上传到github上

1. 步骤&#xff1a; 准备&#xff1a;因为本地和远程是通过ssh加密的&#xff0c;所以需要生成秘钥和私钥 ssh-keygen -t rsa -C "youremailexample.com" "" 双括号里的是 关联 github的个人邮箱 cmd 里 输入 上述指令&#xff0c;然后 按三次 ent…

MySQL 进阶篇1.0

01-课程介绍 02-存储引擎-MySQL体系结构 03存储引擎-简介 查询建表语句 --默认存储引擎:InnoDBshow create table account; 查询当前数据库支持的存储引擎show engines; 04存储引擎-InnoDB介绍 开关为"ON": 表示每个innodb引擎的表都有一个idb表共享文件 …

2012-04 《信息资源管理 02378》真卷解析,逐题解析+背诵技巧

本系列博客合计 21 篇&#xff0c;每篇都将解析一张《信息资源管理》真卷&#xff0c;并附带答案解析与背诵技巧。 全国 2012 年 4 月自学考试信息资源管理试题&#xff08;02378&#xff09; 单选题 1、作为现代社会的支柱产业&#xff0c;信息产业的主体有&#xff1a;信息…

【雕爷学编程】Arduino动手做(109)---3路电压转换模块

37款传感器与执行器的提法&#xff0c;在网络上广泛流传&#xff0c;其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块&#xff0c;依照实践出真知&#xff08;一定要动手做&#xff09;的理念&#xff0c;以学习和交流为目的&am…

MySQL 数据库 group by 语句怎么优化?

一、一个简单使用示例 我这里创建一张订单表 CREATE TABLE order_info ( id int NOT NULL AUTO_INCREMENT COMMENT 主键, order_no int NOT NULL COMMENT 订单号, goods_id int NOT NULL DEFAULT 0 COMMENT 商品id, goods_name varchar(50) NOT NULL COMMENT 商品名称, …

Kamiya丨Kamiya艾美捷狗CRP ELISA说明书

Kamiya艾美捷狗CRP ELISA预期用途&#xff1a; 狗CRP ELISA是一种高灵敏度的双位点酶联免疫分析&#xff08;ELISA&#xff09;&#xff0c;用于定量测定狗生物样品中的C反应蛋白&#xff08;CRP&#xff09;。仅供研究使用。 引言 急性期蛋白质是血浆蛋白质&#xff0c;其在…

开发者实践|如何实现云开发场景联动(内附结构图和教学视频)

一千个住户有一千种生活习惯&#xff0c;智能家居如何才能根据用户个性化的需求&#xff0c;实现真正的“智能”&#xff1f;这就需要家居产品之间智能排列&#xff0c;组合成多样化的场景联动模式。 下面我们就来说说如何通过Tuya OpenAPI来实现云开发场景联动&#xff0c;满…

使用 qrcode 生成二维码

qrcode 1 安装2 引入3 使用3.1 方法1 &#xff1a;QRCode.toCanvas()3.2 方法2 &#xff1a;QRCode.toDataURL()4 完整示例qrcode 是一个用于生成二维码的 JavaScript 库。主要是通过获取 DOM 的标签,再通过 HTML5 Canvas 绘制而成 1 安装 npm install --save qrcode2 引入 …

本地部署开发环境过程和遇到的问题总结

一、 软件安装&#xff0c;环境配置 安装配置jdk(不能只有jre)安装配置maven安装配置git安装idea 二、拉项目 在云效代码管理中选择对应的库&#xff0c;复制其仓库地址 在idea中配置git 参考https://blog.csdn.net/qq_62701769/article/details/125029536 拉代码 URL输入…

叠氮试剂知识整理:6-azidohexan-1-amine|349553-73-7|6-叠氮基己胺

产品描述&#xff1a; 6-azidohexan-1-amine呈淡黄色或无色油状&#xff0c;含有叠氮基。叠氮化物可以与炔烃、DBCO和BCN进行铜催化的点击化学反应。NHS酯可以与胺基反应&#xff0c;形成稳定的酰胺键。点击化学反应效率高&#xff0c;即使在低浓度(μM)和低温(4oc)下&#xff…