Android UiAutomator自動化テスト時にログファイルを保存する方法

1304 ワード

あるネットユーザーは自動化テストの時間が長いと言って、全過程でlogを捕まえて、そのlogファイルは何Gの大きさに達して、バグを発見した時だけlogを捕まえる方法があるかどうかを聞いた.
もちろん方法はありますが、私の考えは以下の通りです.各テスト例が開始されると同時にlogをつかみ始め、テスト例が終了すると、この例が通過したらlogファイルを削除し、このテスト例がバグを発見したらlogファイルを削除しないと、問題を発見したテスト例ごとにlogファイルを保存し、プログラマーたちに問題を分析するのに便利になります.ロゴのキャプチャと削除のjavaコードは以下の通りです.
    String date = new SimpleDateFormat("HH.mm.ss-yyyyMMdd")     .format(new Date()) ;//日付を取得するためのグローバル変数であって、後のプログラムで当該テストのBugLogフォルダProcesslogProcessを生成する.
//logプログラムを起動し、txtファイルとして保存します.この方法を各試験例の先頭public String catch Log(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();         }     } }