安卓自动化测试adb命令讲解


前言

在电脑上成功安装了android-sdk和genymontion后,可以直接在本机cmd窗口用adb命令来和安卓模拟器进行交互。


提示:以下是本篇文章正文内容,下面案例可供参考

一、adb命令和对应效果

提示:要打开自己的安卓模拟器

1.获取应用的包名,界面名命令

包名:是手机上应用的唯一标识
界面名:是应用中页面的唯一标识

1.1在自己安卓模拟器中打开页面如下:

在这里插入图片描述

1.2在cmd输入如下命令:
adb shell dumpsys window windows | findstr mFocusedApp

返回内容:

 mFocusedApp=AppWindowToken{6aba2f2 token=Token{9a515fd ActivityRecord{f9d9254 u0 com.android.documentsui/.files.FilesActivity t39}}}
1.3/前面的就是包名,后面的就是界面名也叫启动名。

包名:

 com.android.documentsui

界面名:

.files.FilesActivity
2.获取已连接设备号
2.1在cmd输入如下命令:
adb devices

返回内容:

192.168.127.101:5555    device

表示已经连上一个设备

3.本机推文件到安卓模拟器

将本机D盘下的a.txt文件推到安卓模拟器存储下,
a.txt文件内容截图
在这里插入图片描述

3.1推送前安卓存储根目录截图

安卓设置-存储-文件下查看,无文件
在这里插入图片描述

3.2在cmd输入如下命令:

adb push 电脑的⽂件路径 ⼿机的⽂件夹路径

adb push D:\a.txt  /sdcard

返回内容:

D:\a.txt: 1 file pushed, 0 skipped. 0.0 MB/s (13 bytes in 0.007s)
3.3表示推送成功,在安卓设置-存储-文件下可以看到a.txt

推送后
在这里插入图片描述

4.本机从安卓模拟器拉文件到指定文件夹
4.1拉取之前,修改安卓存储路径下文档的内容

adb pull ⼿机的⽂件路径 电脑的⽂件夹路径
在这里插入图片描述

4.2在cmd输入如下命令:
adb pull /sdcard/a.txt D:\dev7

返回内容:

/sdcard/a.txt: 1 file pulled, 0 skipped. 0.0 MB/s (21 bytes in 0.004s)

表示拉取成功,在电脑的D:\dev7下可以看到a.txt

4.3推送后本地路径下可以看到a.txt

在这里插入图片描述

5.获取app启动时间

首先要用命令获取应用的包名和界面名,然后再把应用从内存中退出。

5.1在cmd输入如下命令:

adb shell am start -W 包名/启动名

adb shell am start -W com.android.documentsui/.files.FilesActivity

返回内容:

Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.android.documentsui/.files.FilesActivity }
Status: ok
Activity: com.android.documentsui/.files.FilesActivity
ThisTime: 946
TotalTime: 946
WaitTime: 962
Complete
5.2看到手机上跳转到对应页面极为成功

在这里插入图片描述

5.3返回值的解释
  1. ThisTime :该界⾯ ( activity ) 启动耗时(毫秒)
  2. TotalTime :应⽤⾃身启动耗时 = ThisTime + 应⽤ application 等资源启动时间(毫秒)
  3. WaitTime :系统启动应⽤耗时 = TotalTime + 系统资源启动时间(毫秒)
    在这里插入图片描述
6.其他命令

打开有bug的app,输入命令,获取log
adb logcat

安装 app 到⼿机
adb install 路 径/xx.apk

卸载⼿机上的 app,需要指定包名
adb uninstall 包名

进⼊到安卓⼿机内部的linux系统命令⾏中
adb shell

启动 adb 服务端,出 bug 时使⽤可以重启服务器,先关
闭再启动
adb start-server

停⽌ adb 服务端,出 bug 时使⽤可以重启服务器,先关
闭再启动
adb kill-server

查看 adb 帮助
adb --help

二、android-sdk的原理

  1. Client端:运⾏在本机中,即你的电脑,⽤来发送 adb 命令;
  2. Daemon 守护进程:运⾏在调试设备中,⼿机或模拟器,⽤来接收并执⾏ adb 命令;
  3. Server端:同样运⾏在本机中,⽤来管理 Client 端和⼿机的 Daemon 之间的通信。
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值