appium---adb logcat 命令详解
时间:2019-09-02
本文章向大家介绍appium---adb logcat 命令详解,主要包括appium---adb logcat 命令详解使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
我们在做app测试的过程中,肯定会遇到需要抓取日志问题,这几天安静也遇到了此问题,后台日志生成的太多了,保存本地了吧,设备多没有这么USB,通过wifi连接又太麻烦,你说这怎么是好?不要着急,我们往下看
adb logcat介绍
adb 是android一个操作命令,前面有讲过----常用的adb命令
logcat 是android一个打印日志的工具,当然也可以通过命令行进行操作。最主要的是不仅仅可以PC端使用,还可以在app内部进行使用
logcat原理
格式
[adb] logcat [<option>] … [<filter – spec>] …
PC端使用:
adb logcat
shell模式下使用:
logcat
logcat 命令行参数
参数 | 描述 |
-b | 加载一个可使用的日志缓冲区供查看,比如event和radio。默认值是main |
-c | 清除缓冲区中的全部日志并退出(清除完后可以使用-g查看缓冲区) |
-d | 将缓冲区的log转存到屏幕中然后退出 |
-f | 将log输出到指定的文件中<文件名>.默认为标准输出(stdout) |
-g | 打印日志缓冲区的大小并退出 |
-n | 设置日志的最大数目<count>,默认值是4,需要和-r选项一起使用 |
-r | 没<kbytes>时输出日志,默认值是16,需要和-f选项一起使用 |
-s | 设置过滤器 |
-v | 设置输出格式的日志消息。默认是短暂的格式。支持的格式列表 |
PC端使用
pc端使用肯定是结合这adb进行使用
# 查看日志 adb logcat # 过滤关键字日志 win用find mac 用grep adb logcat | find "xxxxx" # 保存日志 adb logcat >路径\名称.txt # 保存过滤日志 adb logcat >find "xxxx" >路径\名称.txt # 清空缓存日志 adb logcat -c # 打印缓冲区大小并退出 adb logcat -g
接下来就是重点了,也是这个地方帮我解决了问题。
app端
在app端使用的时候必须要通过adb shell 进入到app内中,进入adb shell 其实就是android的终端(也就是liunx系统中,就可以敲命令了)
我们通过几个需求来了解app端的log使用方法:
需求1:实时过滤“XXX”日志并保存下来
PC端的方法上面已经写过了可以参考下,app端的可以这样写
# app端保存日志 logcat -s 标签名 -f /app内存路径/名称.txt
# 通过保存在app中,然后再通过adb pull 提取出来
我们知道在PC端中-s是过滤关键字,但是这个地方不是,这个地方是过滤的日志标签名(就是打印日志前面写的标签类型)
需求2:不连接usb实时保存日志
可能会有人想通过wifi连接,但是如果我们的app不在办公室测试的时候怎么通过wifi连接呢?
# 不一直连接usb实时抓取日志 adb logcat -s 标签名 -f /路径/名称.txt & # & 表示后台运行
通过这个命令,只要手机不关机,命令就会一直进行中,这样我们不用实时连接USB也能实时抓取日志了
就是这个命令帮助了安静解决了领导的要求, 监控的设备多了,还不用连接USB。只需要2行命令,多么简单,快去尝试下吧~~~
原文地址:https://www.cnblogs.com/qican/p/11379148.html
- 高盛成立交易部门,涉足比特币和加密货币交易
- WordPress主题开发:添加主题更新提醒功能
- WordPress主题开发:添加主题更新提醒功能
- ASP.NET2.0应用中定制安全凭证之实践篇
- Kaggle大神带你上榜单Top2%:点击预测大赛纪实(下)
- WordPress主题后台选项开发框架 Options Framework 介绍
- vc++ 在程序中运行另一个程序的方法
- 为Options Framework主题后台框架添加后台侧边栏
- ClistCtrl用法及总结(由怎样隐藏ListCtrl列表头的排序小三角形这个bug学习到的知识)
- 弹出式模态窗体选择文本控件
- zookeeper 分布式锁服务
- QT Creator 快速入门教程 读书笔记(三)
- WordPress中添加自定义评论表情包的方法(附三套表情包下载)
- 使用新类型Nullable处理数据库表中null字段
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- CSS盒子模型
- SQL注入
- CSS实现垂直居中布局
- Js实现链表操作
- 性能优化漫谈(一):无代码调优
- C++职责链模式
- Newbe.Claptrap 框架入门,第四步 —— 利用 Minion,商品下单
- 使用 NextCloud + COS 搭建个人网盘
- Shader基础技巧整理
- 隐秘的物理粒子系统与渲染 !Cocos Creator LiquidFun !
- 一起用Gradle Transform API + ASM完成代码织入呀~
- 掩盖浏览痕迹不会被发现的方法【逗】
- webpack实战——样式预处理
- 前端防止浏览器访问旧版 js 和 css 的优化思路
- 少数派实测报告:AI巨无霸模型GPT-3 | 附送API 调用方法「AI核心算法」