appium+python自动化实践之添加移动端logcat日志

使用appium框架执行Android自动化测试时,如果移动端程序发生了异常,期望有相应的log辅助分析,于是想到了需要测试过程需要打印logcat,实践了以下的方法:

方法1:执行自动化测试时,同时打开另外一个cmd,用来抓取日志,以下是使用python脚本或直接在命令行获取logcat日志实例:
1)python(log文件名加上了当前时间):
#encoding:utf-8
import os
import time
import re
testdir=r"D:\test"
now = time.strftime('%Y-%m-%d-%H_%M_%S', time.localtime(time.time()))
logcatname=testdir+"\\"+now+r"logcat.log"
cmd="adb logcat -v time >%s" %(logcatname)
os.popen(cmd)

2)cmd窗口命令行
adb logcat -v time >保存文件的目录\文件名.txt

测试结束时,ctrl+c终止

方法2:使用subprocess 
import subprocess
import time
调用:
now = time.strftime( "%Y-%m-%d-%H_%M_%S" ,time.localtime(time.time()))    #获取当前时间
filename = "D:/test/logs/" + now + r "log.txt"                  #日志文件名添加当前时间
logcat_file = open (filename, 'w' )
logcmd = "adb logcat -v time"
Poplog = subprocess.Popen(logcmd, stdout = logcat_file, stderr = subprocess.PIPE)

使用完后:
logcat_file.close()
Poplog.terminate()

实施过程中,出现过logcat日志为空的情况,后来把Poplog.terminate()放到最后,就符合预期了,在放日志的路径下,可以看到相应的log文件:







猜你喜欢

转载自blog.csdn.net/hdandan2015/article/details/78416530