Android CTS Test
什麽是CTS測試?了解這個問題前,我們先來搜索了解一遍“Google GMS 認證”。GMS全稱為GoogleMobile Service,即谷歌移動服務。說白了GMS其實就是一系列谷歌的應用集合。谷歌GMS認證(Google Mobile Services Test Certification )是谷歌公司為了確保全世界的硬件廠商設計和生產安卓為基礎的各種智能硬件產品的兼容性、穩定性,以及這些硬件與安卓各種自帶的各種軟件APP產品和服務的兼容性、穩定性方面的測試和認證。
Google GMS 認證需要測試一些啥呢?CTS,GTS,CTSVerifier,AFW.....
CTS: 英文為 CompatibilityTest Suite,中文意思是兼容性測試,設備需要通過 Android 的兼容性測試(CTS),以確保在 Android 上開發的程序在設備上都能運行。
一、環境搭建
配置環境變量:
JDK 1.8
SDK(目的:adb aapt環境配置)
測試所需資源:(下載被測設備對應版本的CTS套件)
CTS測試包: Android 6.0 R20 Compatibility Test Suite (CTS) - x86
CTS驗證程序: Android 6.0 R20 Verifier
CTS媒體庫: CTS Media 1.3
Android 6.0 設備(以android6.0為例)
註:雖然windows下也能進行CTS測試,但是問題會比較多(有些不支持在window下操作)。最好還是在linux或mac下進行測試。
二、測試前準備(android設備設置)
1、設備恢復出廠設置: 設置>備份和重置>恢復出廠設置
2、設備的語言設置為英語(美國): 設置>語言&輸入>語言
3、打開位置信息: 設置>位置信息
4、連接WiFi:設置>無線
5、屏幕鎖設置為無: 設置>安全設置>屏幕>無
6、確保時間設置12小時格式: 設置>日期&時間
7、打開USB調試: 設置>開發人員選項> USB調試 。
8、選擇:設置>開發人員選項>保持亮屏
//9、選擇:設置>開發人員選項>允許模擬位置
註意: 這模擬位置設置只適用於Android 5.x和4.4.x。
//10、啟動瀏覽器並關閉任何啟動/設置屏幕。
11、使用USB線連接電腦
/* **12、在設備上安裝和配置輔助應用程序。
註意: CTS版本2.1 R2通過4.2 R4,設置你的設備(或模擬器)運行的可達性測試:
adb install -r android-cts/repository/testcases/CtsDelegatingAccessibilityService.apk
在設備上 Settings > Accessibility > Accessibility > Delegating Accessibility Service
註意: CTS版本7.0之前,設備上聲明 android.software.device_admin 運行,設置你的設備 測試設備管理使用:
adb install -r android-cts/repository/testcases/CtsDeviceAdmin.apk
在設置>安全>選擇設備管理員,使兩個 android.deviceadmin.cts.CtsDeviceAdminReceiver * 設備管理員。
確保 android.deviceadmin.cts.CtsDeviceAdminDeactivatedReceiver 和任何其他預緊裝置管理員仍然禁用。*/
13、CTS媒體文件復制到設備中:
註意: 2.3 CTS R12以後 ,如果設備支持視頻編解碼器,CTS媒體文件必須復制到設備。
三、運行CTS測試
Linux系統下的操作:
下載媒體文件並解壓。
1、改變文件權限: chmod u + x copy_media.sh
2、運行 copy_media.sh 復制所有文件,多個設備時 copy_media.sh - s <specific device>
3、進入android-cts/tools目錄,運行腳本cts-tradefed
window下的操作為:
1、解壓android-cts-media-1.3
2、將android-cts-media-1.3目錄下的bbb_full,bbb_short復制到設備的/sdcard/test/目錄下(沒有就新建一個test文件夾)
3、解壓android-cts-6.0_r20-linux_x86-x86
4、在android-cts-6.0_r20-linux_x86-x86目錄下,在android-cts同目錄下新建一個run.bat文件
5、將以下代碼復制到run.bat文件中。註:最後一行的類,需要到\android-cts\tools\cts-tradefed文件中查看
@echo off set CTS_ROOT=%~dp0 set JAR_DIR=%CTS_ROOT%android-cts\tools set JAR_PATH=%JAR_DIR%\cts-tradefed.jar;%JAR_DIR%\tradefed-prebuilt.jar;%JAR_DIR%\hosttestlib.jar java -cp %JAR_PATH% -DCTS_ROOT=%CTS_ROOT% com.android.cts.tradefed.command.CtsConsole
6.雙擊運行run.bat文件即可
四、CTS基本命令
**如果把所有CTS測試的case都跑一遍,可以直接輸入如下命令
run cts --plan CTS
**如果測試GTS,可以直接輸入如下命令
run gts --plan GTS (之前是:run xts --plan XTS)
**如果只測試CTS中的部分case,只需要輸入如下命令即可
run cts -p [packgeName] #測試指定包下的所有case
run cts -c [className] -m [methodName] #單測method一case
分類 | 命令 | 說明 |
---|---|---|
Host | help | 基本命令幫助說明 |
help all | 全部命令幫助說明 | |
exit | 退出控制臺 | |
Run | run cts --plan test_plan_name | 運行指定計劃 |
run cts --package/-p | 運行指定包 | |
run cts --class/-c [--method/-m] | 運行指定方法 | |
run cts --continue-session session_ID | 繼續運行指定回話ID | |
run cts [options] --serial/-s device_ID | 運行指定設備 | |
run cts [options] --shardsnumber_of_shards | 運行多個設備 | |
run cts --help/--help-all | 運行幫助 | |
List | l/list d/devices | 列出連接的設備 |
l/list packages | 列出所有測試包 | |
l/list p/plans | 列出所有測試計劃 | |
l/list r/results | 列出已經保存的結果 |
五、CTS測試結果
CTS測試的結果在android-cts/repository/results目錄下以開始測試時間為名的目錄下的testResults.xml文件中。
CTS測試的日誌文件在android-cts/repository/logs目錄下的zip文件中
可查看android官網:
》》》下載
》》》設置
》》》運行CTS
Android CTS Test