一、測試前的準備
1.測試環境:在Linux系統下測試 安裝SDK,JDK,ADB,Python工具包。
2.下載媒體文件包:
下載網站:https://source.android.com/compatibility/cts/downloads (在網頁的最下方)
3.下載需要測試的軟體包
4.手機準備
(1)刷好需要測試的版本
(2)設置好基本的設置
1.手機打開開發者模式(setting–>About phone–>build number連續點擊build number數次可將開發者模式打開)
2.打開stay awake和USB debugging,關閉Verify apps over USB (須先打開開發者模式才能看到此項,setting-->other setting->Advanced settings)
3.設置最長亮屏時間(setting–>Display and brightness-->sleep)
4.設置螢幕鎖為無
5.設置語言為英語
6.時間設置為12小時
7.手機插入聯通SIM卡和UICC白卡
8.連接網絡(可以翻牆且支持IPV6網絡的WiFi)
9.請勿遮擋測試手機的攝像頭,且將攝像頭對準可以聚焦的物件(否則camera相關測試大機率通不過)
二、測試過程
1.將手機和電腦連接
2.將下載好的測試包和媒體文件包拷貝到Linux環境中
3.解壓測試包和媒體文件包(命令輸入unzip 測試包名)
4.將解壓過的媒體文件導入/tmp/android-cts-media/目錄下(此操作執行後,無需在手動push媒體文件到手機上了,系統會自動push)
5.進入測試環境(即解壓的測試包目錄下的android-cts–>tools)輸入 ./cts-tradefed
6.進入測試環境後會顯示正在連接的手機編號,檢查待測手機是否全部連接
7.命令輸入 run cts --shard-count n --device-token sn1:sim-card --device-token sn2:sim-card-with-certs (n=連接的手機數量,sn1=插有聯通SIM的手機序列號,sn2=插入uicc白卡的手機序列號);
三、第一輪測試結束後
1.第一次測試結果往往不準確,所以需要測試幾次,才能達到理想的測試結果,所以這個時候需要retry.
2.retry即在原來的測試基礎上將上一輪測試fail或者未執行的cases進行再次測試,retry步驟:
(1)run cts --retry id (id為需要複測的session id)
註:GTS/Android P 複測時使用:run retry --retry id
3.CTS一般需要4-5次的測試才能達到想要的結果、GTS需要3次左右才能達到想要的結果
4.單包測試及其他測試指令
(1)單包測試:run cts -m 包名
(2)多包測試:run cts --include-filter 包名 --include-filter 包名 ...
(3)指定特定的包不測試: run cts --exclude-filter 包名 --exclude-filter 包名 ...
(4)單個case測試: run cts -m 包名 -t cases名
(5)指定測試的手機: run cts -s 手機編號(-s不能復用)
(6)其他常用的命令:
l m: 查看測試包所帶的所以測試module
l i:顯示正在測試的手機及已測試時長
l r:顯示之前的測試結果
l d:顯示已經連接的手機
--skip-preconditions/-o :跳過環境檢測(縮短測試前期所需時間,多台手機一起測試時可以不用)
--device-token:指定具有給定令牌的給定設備,具體參考上面二中的7步驟
kill:退出當前測試
四、測試結束result和log
1.測試結束後會自動生成results,其目錄在\android-cts\results下,可根據測試的時間找對應的results
2.推薦使用谷歌或者火狐瀏覽器瀏覽test_result.xml或者test_result_failures.html文件,可具體看到測試的結果。由於cts測試數量集太大,查看報告是可打開test_result_failures.html文件進行查看。
五、相關事宜
1. 測試CTS、GTS、CTS-ON-GSI、VTS時都必須使用user版本,非root的手機進行測試,否則會影響測試結果。STS需使用userdebug版本進行測試。
2. 在測試GTS時,測試主機需連接可以翻牆的網絡,否則測試會無法進行。如電腦無法連接外網,也可以在run gts 後加入參數--ignore-business-logic-failure 進行測試。
例:run gts --ignore-business-logic-failure
但不確定此操作會不會影響測試結果
3. 測試VTS時電腦無需連接翻牆的網絡,但是需要連上可用的網絡,否則測試開始或者中途會直接跳出來。
4. 測完第一輪後,建議將手機恢復出廠設備再測進行複測。
5. 在做cts測試時儘量注意測試卡的利用,部分module在測試時會發送大量簡訊,儘量避免測試卡一天內或者一個月內多少使用。否測有可能會被禁掉發送簡訊功能。
如在測試CtsTelephonyTestCases時,如有大量cases通不過,請檢查sim卡是否欠費。如未欠費,請檢查sim是否可用正常發送簡訊。一般這個包都不會有問題。
6. 目前只有CTS測試時需要插入sim卡,做其他測試時可以不用插入sim卡。
7. 做CTS測試應使用聯通卡、且能識別自身號碼的sim卡進行測試。