2014年11月4日 星期二

Android 4.4 CTS Test (一)



一、Android CTS測試簡介
CTS  全稱 Compatibility  Test  Suite 兼容性測試工具。當電子產品開發出來,並定制了自己的 Android 系統後,必須要通過最新的 CTS 檢測,以保證標準的 android  application 能運行在該平台下。通過了CTS 驗證,需要將測試報告提交給 Google,已取得android market的認證。 CTS 是一款通過命令行操作的工具。目前 cts 沒有提供 windows版本,只能在 Linux 下測試。本文將詳細介紹在ubantu系統上如何搭建CTS環境,以及運行測試計劃和分析測試結果。

二、Android CTS測試環境搭建


1.下載android-SDK linux版本,下載地址:(以下預設解壓縮到 /home/adt-bundle-linux)
http://developer.android.com/sdk/index.html







 











2.下載android-cts,下載地址:(以下預設解壓縮到 /home/android-cts)
根據手機系統版本下載對應版本的cts包,否則將無法運行測試


 










3.jdk的安裝:




apt-get  install  sun-java-jdk
若安裝java出現 E: Package ‘sun-java6-jdk’ has no installation candidate
解法:
1). sudo gedit /etc/apt/sources.list
2). 檔尾追加:  deb http://us.archive.ubuntu.com/ubuntu/hardy multiverse
3). 存檔, 離開
4). sudo apt-get update
5). sudo apt-get install sun-java6-jdk

4. android-cts cts-media 解開到任一目錄, (以下預設解壓縮到 /home/cts-media)

5. 配置 CTS SDK的目錄位置
1). 編輯 /home/android-cts/tools/cts-tradefed, 添加以下:
if [ -z “${SDK_ROO}” ]; then
    export SDK_ROOT=/home/adt-bundle-linux/
fi;

在以下兩行之前,
checkPath  adb
checkPath  java
添加:
if [ -n “${SDK_ROOT}” ]; then
    PATH=${SDK_ROOT}/platform-tools:${SDK_ROOT}/tools:${PATH}
fi;

2). 修改 /home/cts-media/copy_media.sh
在第2行加入:
if [ -z “${SDK_ROOT}” ]; then
    export SDK_ROOT=/home/adt-bundle-linux/
fi;


三、Android-CTS測試的幾個概念
在進行 CTS 測試之前,先闡述 CTS 測試中幾個概念:
Test PlanPlan):測試計劃,Test package 的集合,每個 Plan 中都包含若干個測試包
android cts 4.4版本為例,總共有12個測試計劃
CTS:包含2萬多個測試範本,這些測試範本是檢驗相容性必須的,效能測試不包含在本計劃中,隨版本的更新,本測試計劃也會更新。
Signature:包含所有針對公有APIs的署名測試
Android:包含針對android APIs的所有測試
Java:包含所有針對Java核心library的測試
VM-TF:包含對虛擬機的所有測試
AppSerurity:針對Application安全性的測試
CTS-stable:穩定度測試
SDKAndroid SDK 測試
PDK: Android PDK測試
CTS-No-Media-Stream
CTS-TF


命令查閱結果:l/list  r/results
 
Test result  有四種類型的值:Passed  Failed  Timed Out  NoExecuted 
瀏覽器(: IE)查看 testResult.xml. 路徑:  /android-cts/repository/results/





四、終端測試前準備
0) Factory reset 或重新燒錄flash images (: QPST)
1. IMEI號碼: 353844060000423, 35844060000431;
2. (若要做SIM卡測試) 接上SIM, 並給SIM卡寫入本機號碼
3. 語言使用英文, 並用Android預設的輸入法
4. 打開 Wifi, 並設定Wifi AP連接設定; 打開VPN並設定好連接帳號
5. (若手機內的空間超過1G以上, 則不需要) 安裝 SD card(T),另外,有些測項會因讀寫速度慢, 容易造成Timeout錯誤時, 也不要接SD card(T)
6. 開啟USB debugging, Stay awake, allow mock location
        (SettingsàApplicationsàDeveloper optionsàUSB debugging 打勾)
(SettingsàApplicationsàDeveloper optionsàStay awake 打勾)
(SettingsàApplicationsàDeveloper optionsàAllow mock locations 打勾)
7. adb install /home/android-cts/repository/testcase/CtsDeviceAdmin.apk
        (Settings à Security à Select Device administrators à Active 2 android.deviceadmin, 共三項, 選前兩項即可)
文字方塊: 手機端安裝CtsDelegatingAccessibilityService.apk 與CtsDeviceAdmin.apk
此2 App皆在android-cts/repository/testcases下面。
可以將安裝包拷貝到手機後安裝也可通過打開command mode用指令手動安裝。
輸入命令方法:先定位到plantform-tools文件夾,
cd  cts/android-sdk-linux/platform-tools
然後再輸入安裝命令:
./adb install /android-cts/repository/testcases/CtsDelegatingAccessibilityService.apk (Android 2.3~4.0.3才需要裝)
./adb install /android-cts/repository/testcases/CtsDeviceAdmin.apk
安裝好後設置進入手機設在菜單:
Setting>Accessibility>Accessibility>DelegatingAccessibilityService(Android 2.3~4.0.3才需要裝)
Setting>Security>Device administrators>android.deviceadmin.cts.CtsDeviceAdmin (有3項, 請全部都打勾)
 

8. 訂置正確時間日期 (非常重要, 不然會有很多項無法過)
9. 將螢幕超時 設定, 至少設定30分鐘, 並取消鎖屏
(Settings -> Security & location &security ->Set up screen lock -> None )
(Settings>Display>Screen timeout>30minutes)
10. 測試中請勿按按鍵或碰觸控面版 (不要干擾自動測試)
11. 不需添加任何使用帳號, : google 帳號
12. 開始測試前, 手機請處在待機狀態
13. compile App要使用release-keys 進行簽名
        (MTK_SIGNATURE_CUSTOMIZATION=yes)
14. copy 影音測試檔到 SD card(T)
cd /home/cts-media; ./copy_media.sh all (此為全copy)
15. Settings à Security à Unknown sources (disabled)
16. (???) 安裝CTS測試環境檢查工具: CTSAssistant_V1.apk
17. 請按Home, 讓螢幕回到桌面(Home Screen)




 

沒有留言:

張貼留言