安卓自动化结合adb抓Log时,adb logcat的关闭问题

7 篇文章 0 订阅
5 篇文章 0 订阅

本文解决两个问题

1. 使用adb logcat时,如何通过命令行关闭

2. 使用appium结合python实现android自动化时,如何正确的抓取Log


背景:

         目前一直在做安卓自动化的东西,主要是针对项目回归测试用例进行实现。由于设计的用例,所扑捉的问题都是已经预估到的,对于未知的导致用例异常的行为并未有很好的处理,所以尝试将adb logcat与自动化结合。经验尚浅,做一个尝试,如果有朋友有更好的解决办法,希望不吝赐教。

         项目使用的是appium+python,设计了一套框架,基础是python的unittest。

         实现的时候,发现了文章初始提出的两个问题。


解决方式:

        问题一:使用adb logcat时,如何通过命令行关闭

        1. os.system('taskkill /f /t /im cmd.exe')    //这个方式比较暴力,将所有开启的cmd都关闭了
        2. os.system('adb kill-server')                    //这个关闭单个的adb,比较温和,推荐使用


          问题二:使用appium结合python实现android自动化时,如何正确的抓取Log

       1. 使用subprocess.Popen('adb logcat ’,shell=True)  //logcat后可以跟自己存储的目录

        尝试过直接使用 os.system('adb logcat'),但是执行后,测试套件里的测试用例就不执行了,还未弄清楚原因,但推荐的方法是可以直接使用的。

        由于对python子进程不是很了解,所以并未对其单独进行关闭处理,而是通过直接关闭主进程来关闭它。

        

注意:

       1. 抓log的初始行为可以放在测试套件里,但是关闭行为必须放在主进程里

        



  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Android ADBAndroid Debug Bridge)是一种用于在Android设备和计算机之间进行通信的工具。通过ADB,我们可以执行各种操作,包括取设备的日志(log)。 Android设备的日志非常有用,尤其是当我们在开发或调试应用程序。通过查看设备的日志,我们可以获取应用程序的运行状态、错误信息、系统事件等关键信息。 要Android设备的日志,首先需要确保设备与计算机连接并且adb已经安装。然后,我们可以按照以下步骤进行操作: 1. 打开命令行界面(Windows用户可以按下Win键+R,输入cmd并点击确定); 2. 输入adb logcat命令并按下回车键; 3. 日志将开始显示在命令行界面中; 4. 可以使用一些选项来过滤日志,例如使用-i选项显示信息级别的日志,使用-f选项将日志保存到文件等; 5. 要停止取日志,可以按下Ctrl+C。 除了使用命令行界面,还可以使用一些图形界面工具来取设备的日志,例如Android Studio中的Logcat工具和DDMS(Dalvik调试监视服务)等。 无论是使用命令行界面还是图形界面工具,我们都可以根据需要过滤和查看特定标签、特定应用程序或特定级别的日志,并且可以导出日志并与其他人共享。 通过取设备的日志,我们可以更容易地分析和解决应用程序的问题,特别是在开发和调试阶段。因此,掌握ADB取日志的方法对于Android开发者来说是非常重要的。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值