appium+python adb常用命令分享


Posted in Python onMarch 06, 2020

前言:

在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常用命令分享就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
在Python中利用Pandas库处理大数据的简单介绍
Apr 07 Python
Linux中安装Python的交互式解释器IPython的教程
Jun 13 Python
Python使用SocketServer模块编写基本服务器程序的教程
Jul 12 Python
python SSH模块登录,远程机执行shell命令实例解析
Jan 12 Python
Python按钮的响应事件详解
Mar 04 Python
解决Python内层for循环如何break出外层的循环的问题
Jun 24 Python
python [:3] 实现提取数组中的数
Nov 27 Python
keras 自定义loss损失函数,sample在loss上的加权和metric详解
May 23 Python
python给视频添加背景音乐并改变音量的具体方法
Jul 19 Python
python pandas dataframe 去重函数的具体使用
Jul 20 Python
Python使用pycharm导入pymysql教程
Sep 16 Python
Python常用扩展插件使用教程解析
Nov 02 Python
Python+appium框架原生代码实现App自动化测试详解
Mar 06 #Python
python使用paramiko实现ssh的功能详解
Mar 06 #Python
python GUI库图形界面开发之PyQt5滚动条控件QScrollBar详细使用方法与实例
Mar 06 #Python
Python object类中的特殊方法代码讲解
Mar 06 #Python
python+Selenium自动化测试——输入,点击操作
Mar 06 #Python
使用 Python ssh 远程登陆服务器的最佳方案
Mar 06 #Python
使用python执行shell脚本 并动态传参 及subprocess的使用详解
Mar 06 #Python
You might like
如何在PHP中使用Oracle数据库(3)
2006/10/09 PHP
thinkphp3.0 模板中函数的使用
2012/11/13 PHP
采用header定义为文件然后readfile下载(隐藏下载地址)
2014/01/31 PHP
100多行PHP代码实现socks5代理服务器[2]
2016/05/05 PHP
基于php判断客户端类型
2016/10/14 PHP
php中的单引号、双引号和转义字符详解
2017/02/16 PHP
PHP日志LOG类定义与用法示例
2018/09/06 PHP
Mootools 1.2教程(3) 数组使用简介
2009/09/14 Javascript
jquery ui对话框实例代码
2013/05/10 Javascript
jquery 无限级下拉菜单的简单实现代码
2014/02/21 Javascript
教你如何自定义百度分享插件以及bshare分享插件的分享按钮
2014/06/20 Javascript
js 实现的可折叠留言板(附源码下载)
2014/07/01 Javascript
node.js中的fs.rename方法使用说明
2014/12/16 Javascript
JavaScript学习心得之概述
2015/01/20 Javascript
jquery实现简单的表单验证
2015/11/17 Javascript
简单了解Backbone.js的Model模型以及View视图的源码
2016/02/14 Javascript
javaScript语法总结
2016/11/25 Javascript
JS闭包与延迟求值用法示例
2016/12/22 Javascript
jQuery日程管理插件fullcalendar使用详解
2017/01/07 Javascript
用webpack4开发小程序的实现方法
2019/06/04 Javascript
JS前端广告拦截实现原理解析
2020/02/17 Javascript
Python自定义进程池实例分析【生产者、消费者模型问题】
2016/09/19 Python
对python产生随机的二维数组实例详解
2018/12/13 Python
python绘制BA无标度网络示例代码
2019/11/21 Python
Python操作注册表详细步骤介绍
2020/02/05 Python
Python定义一个函数的方法
2020/06/15 Python
德国受欢迎的旅游和休闲网站:lastminute.de
2019/09/23 全球购物
类成员函数的重载、覆盖和隐藏区别
2016/01/27 面试题
简历的个人自我评价范文
2014/01/03 职场文书
上班离岗检讨书
2014/01/27 职场文书
第一批党的群众路线教育实践活动工作总结
2014/03/03 职场文书
解除合同协议书
2014/04/17 职场文书
预备党员2014年第四季度思想汇报范文
2014/10/25 职场文书
幼儿园辞职信
2015/05/13 职场文书
Redis安装启动及常见数据类型
2021/04/14 Redis
python 制作一个gui界面的翻译工具
2021/05/14 Python