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检测lvs real server状态
Jan 22 Python
Python中操作MySQL入门实例
Feb 08 Python
详解使用Python处理文件目录的相关方法
Oct 16 Python
Python学习教程之常用的内置函数大全
Jul 14 Python
理解Python中的绝对路径和相对路径
Aug 30 Python
简单了解python中的与或非运算
Sep 18 Python
python实现文件批量编码转换及注意事项
Oct 14 Python
python实现单张图像拼接与批量图片拼接
Mar 23 Python
python中如何写类
Jun 29 Python
Python 排序最长英文单词链(列表中前一个单词末字母是下一个单词的首字母)
Dec 14 Python
如何用python绘制雷达图
Apr 24 Python
Python Pandas数据分析之iloc和loc的用法详解
Nov 11 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
PHP5权威编程阅读学习笔记 附电子书下载
2012/07/05 PHP
laravel框架数据库配置及操作数据库示例
2019/10/10 PHP
Yii框架数据库查询、增加、删除操作示例
2019/10/14 PHP
心扬JS分页函数代码
2010/09/10 Javascript
xml文档转换工具,附图表例子(hta)
2010/11/17 Javascript
关于JQuery($.load)事件的用法和分析
2013/04/09 Javascript
JS/FLASH实现复制代码到剪贴板(兼容所有浏览器)
2013/05/27 Javascript
jquery控制select的text/value值为选中状态
2014/06/03 Javascript
教你在heroku云平台上部署Node.js应用
2014/07/30 Javascript
深入浅析JS是按值传递还是按引用传递(推荐)
2016/09/18 Javascript
JavaScript拖动层Div代码
2017/03/01 Javascript
js按条件生成随机json:randomjson实现方法
2017/04/07 Javascript
微信小程序商城项目之购物数量加减(3)
2017/04/17 Javascript
JavaScript实现数值自动增加动画
2017/12/28 Javascript
微信小程序开发之改变data中数组或对象的某一属性值
2018/07/05 Javascript
详解angular2 控制视图的封装模式
2018/12/27 Javascript
js实现小星星游戏
2020/03/23 Javascript
[03:56]DOTA2完美大师赛趣味视频之小鸽子和Mineski打台球
2017/11/24 DOTA
[00:12]DAC2018 天才少年转战三号位,他的SOLO是否仍如昔日般强大?
2018/04/06 DOTA
基于Python的关键字监控及告警
2017/07/06 Python
把pandas转换int型为str型的方法
2019/01/29 Python
使用PyQtGraph绘制精美的股票行情K线图的示例代码
2019/03/14 Python
python exit出错原因整理
2020/08/31 Python
BeautifulSoup中find和find_all的使用详解
2020/12/07 Python
在html页面中取得session中的值的方法
2020/08/11 HTML / CSS
英国潮流网站:END.(全球免邮)
2017/01/16 全球购物
NFL官方在线商店:NFLShop
2020/07/29 全球购物
Skechers越南官方网站:来自美国的运动休闲品牌
2021/02/22 全球购物
商场促销活动方案
2014/02/08 职场文书
人事专员工作职责
2014/02/22 职场文书
公司合作意向书范文
2014/07/30 职场文书
2014镇党委班子对照检查材料思想汇报
2014/09/23 职场文书
2015年小学师德师风建设工作总结
2015/10/23 职场文书
Java生成读取条形码和二维码的简单示例
2021/07/09 Java/Android
Redis的字符串是如何实现的
2021/10/24 Redis
Vue 打包后相对路径的引用问题
2022/06/05 Vue.js