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();         }     } }


  • 1
    点赞
  • 3
    评论
  • 2
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值