Android CTS認證debug方法

最近公司在推進海信 RK3128H的項目,需要過谷歌CTS認證,基於Android 4.4和Linux內核3.10版本,測試項居然有20多個audio的fail(心裏mmp~~~),這也是我第一次測試CTS,完全是從零開始,好在我不恥下問,頭腦發達,聰明伶俐(哈哈),總算把全部fail項pass,以下是我的總結和歸納,對小白來應該會有點幫助。



    先聲明一點,由於我是做音頻的,所以測試項主要是media大類,所用測試apk爲CtsMediaTestCases.apk,其他大類有另外的測試apk,不過方法都是類似。

    話不多說,進入正題,首先管理sdk的人會把所有的測試類都測一遍,然後把個模塊測試fail項分給各模塊負責人,拿到測試報告類似如下:

這裏面android.media.cts.MediaPlayerTest是一個測試類,裏面有許多的測試項,這裏的fail了8項測試項。具體debug的時候需要一個測試項單獨debug,加快debug速度,就需要adb命令來測試單個用例。

測試步驟如下:

1、安裝測試apk,比如adb install CtsMediaTestCases.apk

2、找到本機的測試用例:

pm list instrumentation

3、想測試整個包,就使用命令:

am instrument  -w com.android.cts.media/android.test.InstrumentationCtsTestRunner

4、想測試單個用例,如上面的android.media.cts.MediaPlayerTest,使用命令:

am instrument -e class android.media.cts.MediaPlayerTest -w com.android.cts.media/android.test.InstrumentationCtsTestRunner

5、想debug單個用例的單個case,如testPlayerAudio,在用例後面加#應用,如下命令:

am instrument -e class android.media.cts.MediaPlayerTest#testPlayerAudio -w com.android.cts.media/android.test.InstrumentationCtsTestRunner

輸入命令前,adb或者串口抓取log,就能抓到測試過程中的日誌,用於分析fail原因。

最後總結:分析測試用例代碼,對於過測試項和分析fail原因至關重要,代碼在根目錄的cts目錄!


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章