2014-07-24 50 views
1

我目前正在測試訪問一個網頁,有時它需要多久才能從得到的結果表示頁面的應用程序。它記錄此時logcat的是這樣的:是否可以從uiautomator訪問LogCat日誌?

Log.i("Time-taken", "" + timetaken); 

我想我的測試應用程序,能讓這些標記的日誌,並把它們存儲在多個HTTP調用,然後他們給不同的統計,當測試完成(平均值,中位數等)。這是可以完成的事情,還是應該在測試方法中設置一個單獨的計時機制?

感謝提前:)

+0

以下是你需要什麼,我想。 http://stackoverflow.com/a/8417757/978728 – Erowlin

回答

1

當使用uiautomator用java我用這個和它的幫助:

private StringBuilder getOutput(String command) { 
    try { 
     Process proc = Runtime.getRuntime().exec(command); 
     BufferedReader stdInput = new BufferedReader(new InputStreamReader(
       proc.getInputStream())); 
     StringBuilder output = new StringBuilder(); 
     String line = ""; 
     while ((line = stdInput.readLine()) != null) { 
      output.append(line); 
     } 
     stdInput.close(); 
     return output; 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
    return null; 
} 

你可以使用這樣的:

StringBuilder logcat = getOutput("logcat -s 'Time-taken' -d"); 

-s是隔離你的字符串/日誌信息

-d是採取日誌並停止logcat的命令

+0

不幸的是,getOutput方法在到達while循環時會掛起...但我會繼續玩它,看看我能否得到它的工作。我很欣賞這種迴應! –

+0

當我使用它時,它從未被絞死過。而且我沒有通過任何字符串過濾日誌。我把整個logcat放到輸出變量中。 –

+0

我問我的一個朋友,他建議,你可以不使用uiautomator,但儀表項目來代替。以下是他對我說:「爲了有日誌訪問,你需要在清單 加入這一行<用途的許可安卓:名稱=」 android.permission.READ_LOGS「/>」 –

0

我使用一個shell腳本用於測試的兩個執行,也爲印刷過濾的logcat到文本文件!你可以這樣做。

相關問題