当前位置:首页 >> 脚本专栏

appium+python adb常用命令分享

前言:

在appium中adb命令的使用必不可少,做android测试嘛,adb命令肯定肯定是每天都要用的啦,所以今天给特地写个博客吧!

这里就不介绍adb是什么以及怎么安装adb了,因为这些东西网上一搜一大把!没必要重写。

对于这些常用的adb命令网上也都有介绍,我这里其实就是简单汇总吧。

一、检查设备

前提:安卓设备开启开发者模式,开启usb调试

1.如何检查手机(或模拟器)是连上电脑的,在cmd输入:

appium+python adb常用命令分享

二、安装app

第一步:先下载apk文件包到电脑

第二步:cmd端口输入adb install 后把apk直接拖进来就ok

出现success就代表ok了

三、卸载app

1.在cmd输入以下指令,可以删除app

>adb uninstall 包名

(这里是app的包名,不是文件名,包名用前面的aapt工具查看,输入aapt dump badging +apk可以看到包名)

2.以淘宝为例,淘宝的包名是:com.taobao.taobao

appium+python adb常用命令分享

出现success代表OK了

四:杀掉adb进程:

adb kill-server

五:重启adb服务

adb start-server

六:重启安卓设备

adb reboot

七:进入shell模式:

注:android的系统是基于linux系统开发的,adb shell就是进入shell模式

adb shell

appium+python adb常用命令分享

八:查看文件详情和进入文件夹操作

进入shell模式后 :cd sdcard

appium+python adb常用命令分享

九:列出当前文件夹下目录

在某一文件夹下:ls -a

appium+python adb常用命令分享

十:退出shell模式

直接输入 exit

appium+python adb常用命令分享

十 一:从手机下载文件到本地

找到需要导入的文件路径后,先exit退出shell,再执行

命令: adb pull [手机路径] [电脑路径]

注意:手机路径是左斜杠/ 电脑路径是右斜杠 (不能直接导电脑根目录,得指定一个已经存在的文件夹)

appium+python adb常用命令分享

如上图所示,代表导入本地成功

appium+python adb常用命令分享

2.想导出文件夹下的全部内容,就不用指定文件名称了,到文件夹这一层目录就行,如/sdcard/DCIM/Camera/Screenshots D:Testapk

appium+python adb常用命令分享

十 二 :把电脑的文件导入手机,跟上面操作刚好相反

.把电脑的文件导入手机,跟上面操作刚好相反

命令: adb push [电脑路径] [手机路径]

如果想在手机上创建一个文件夹,可以进shell模式,用mkdir创建

如下:我在sd根目录创建了一个haha的文件夹

appium+python adb常用命令分享

下面将文件导入手机:

前提还是需要先退出shell模式

实现如下:

appium+python adb常用命令分享

检查哈haha文件夹下是否成功:

appium+python adb常用命令分享

如图所示,已经导入手机成功!

总结:在cmd命令中使用的命令格式与shell模式中的格式有所不同,因为cmd中使windows系统,而在shell中是linux系统所以有所区别。比如在cmd中返回上层文件夹命令是:cd.. (cd加两个点),但是在shell中返回上层文件夹就用linux命令了: cd - (注意 cd和-中间有空格!)。所以总结来说在shell模式下要用linux命令来实现。昨天写到第十二个时下班了,今天继续!

十三:logcat输出日志

做app测试,遇到异常情况,查看日志是必不可少的,日志如何输出到手机sdcard和电脑的目录呢?这就需要用logcat输出日志了

以下操作是基于windows平台的操作:adb logcat | find

linux平台的操作可以把find改成grep: adb logcat | grep

windows上的dos里面是没grep指令的

1.把日志存入电脑的某个目录,如d:\Testapk

appium+python adb常用命令分享

2. 使用find过滤包名

如果直接用adb logcat抓日志的话,会把系统的一些其他无关紧要的都抓出来,如果只想抓取被测app的日志,那就根据包名过滤

命令:adb logcat | find "com.mld.Lantin" >d:\Testapk\22.txt

appium+python adb常用命令分享

appium+python adb常用命令分享

3.结束logcat

1.结束logcat抓包,可以用ctr+c快捷键结束, 这个是通过手工的快捷键操作完成

4.logcat其它功能

1.cmd输入adb logcat -help可以查看其它功能

命令:adb logcat -help

C:\Users\admin>adb logcat -help
Unrecognized Option h
Usage: logcat [options] [filterspecs]
**选项**:
-- "-s"选项 : 设置输出日志的标签, 只显示该标签的日志;
 
-- "-f"选项 : 将日志输出到文件, 默认输出到标准输出流中, -f 参数执行不成功;
 
-- "-r"选项 : 按照每千字节输出日志, 需要 -f 参数, 不过这个命令没有执行成功;
 
-- "-n"选项 : 设置日志输出的最大数目, 需要 -r 参数, 这个执行 感觉 跟 adb logcat 效果一样;
 
-- "-v"选项 : 设置日志的输出格式, 注意只能设置一项;
 
-- "-c"选项 : 清空所有的日志缓存信息;
 
-- "-d"选项 : 将缓存的日志输出到屏幕上, 并且不会阻塞;
 
-- "-t"选项 : 输出最近的几行日志, 输出完退出, 不阻塞;
 
-- "-g"选项 : 查看日志缓冲区信息;
 
-- "-b"选项 : 加载一个日志缓冲区, 默认是 main, 下面详解;
 
-- "-B"选项 : 以二进制形式输出日志;
 
**过滤项格式** : <tag>[:priority] , 标签:日志等级, 默认的日志过滤项是 " *:I " ;
 
-- V : Verbose (明细);
 
-- D : Debug (调试);
 
-- I : Info (信息);
 
-- W : Warn (警告);
 
-- E : Error (错误);
 
-- F : Fatal (严重错误);
 
-- S : Silent(Super all output) (最高的优先级, 可能不会记载东西);
 
'*' by itself means '*:D' and <tag> by itself means <tag>:V.
If no '*' filterspec or -s on command line, all filter defaults to '*:V'.
eg: '*:S <tag>' prints only <tag>, '<tag>:S' suppresses all <tag> log messages.
 
If not specified on the command line, filterspec is set from ANDROID_LOG_TAGS.
 
If not specified with -v on command line, format is set from ANDROID_PRINTF_LOG
or defaults to "threadtime"

注:需要用到logcat的时候看看这张表的help内容应该就知道怎么用了,很全!这里就不逐一去写了,自己需要用,自己参照上图!

以上这篇appium+python adb常用命令分享就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。