Android UiAutomator自动化测试时一个保存log文件的方法

    有的网友说他们自动化测试时间比较长,全程抓取log,其log文件达到了好几G的大小,问有没有办法只在发现bug的时候抓log。
    当然办法是有的,我的设想如下:在每个测试用例开始时同时开始抓log,当测试用例结束时,如果这个用例通过则将log文件删除,如果这个测试用例发现了bug则不删log文件,这样每个发现了问题的测试用例都会保存一个log文件,便于提交给程序员们分析问题。抓log和删除log的java代码如下:   

    String date = new SimpleDateFormat("HH.mm.ss-yyyyMMdd")     .format(new Date()) ;//全局变量,用于获取日期,在后面的程序中生成当次测试的BugLog文件夹 Process logProcess;

    //启动抓log程序,并将其保存成为一个txt文件,将此方法用于每个测试用例的开头     public String catchLog(String LogFileName){         File path = new File("/sdcard/");         if (path.exists()) { //验证是否存在这个目录             path = new File("/sdcard/BugLog"+date); //根据需要设置保存的路径         } else {             path = new File("/***/BugLog"+date); //根据你的手机实际路径设置         }         if (!path.exists())             path.mkdir();                        LogFileName = path + "/" + LogFileName+".txt";         try {             logProcess=Runtime.getRuntime().exec("cmd /k adb logcat -v threadtime >"+LogFileName);         } catch (IOException e1) {             e1.printStackTrace();         }         return LogFileName;     }         //删除Log,将此方法用于每个测试用例的结尾     public void delLog(boolean b,String LogFileName){         File file=new File(LogFileName);         if(b&&file.exists()){

logProcess.destroy();             file.delete();         }     } }


评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值