天天看點

CTS 環境搭建及注意事項如下内容來自官網翻譯:注意事項:

如下内容來自官網翻譯:

相容性測試套件

CTS如何工作?

相容性測試套件(CTS)是一個免費的商業級測試套件,可供下載下傳。CTS代表相容性的“機制”。

CTS在桌上型電腦上運作,并直接在連接配接的裝置或仿真器上執行測試用例。CTS是一套單元測試,旨在內建到建構裝置的工程師的日常工作流程(例如通過連續建構系統)中。其目的是盡早揭示不相容性,并確定軟體在整個開發過程中保持相容性。

CTS是一個自動測試工具,包括兩個主要的軟體元件:

• CTS交易測試工具在您的桌上型電腦上運作,并管理測試執行。

• 單獨的測試用例在被測裝置(DUT)上執行。測試用例以Java作為JUnit測試編寫,并作為Android .apk檔案打包,以在實際的裝置目标上運作。

相容性測試套件驗證器(CTS Verifier)是可供下載下傳的CTS的補充。CTS Verifier為沒有手動輸入(例如音頻品質,加速度計等)的固定裝置上測試的API和功能提供測試。

CTS驗證器是用于手動測試的工具,包括以下軟體元件:

• 在DUT上執行的CTS驗證程式應用程式,并收集結果。

• 在桌面計算機上執行的可執行檔案或腳本,用于為CTS Verifier應用程式中的某些測試用例提供資料或附加控制。

工作流程

該圖總結了CTS工作流程。請參閱本節的子頁面,從安裝程式開始,了解詳細說明。

CTS 環境搭建及注意事項如下内容來自官網翻譯:注意事項:

測試用例的類型

CTS包括以下類型的測試用例:

• 單元測試測試Android平台中的原子代碼機關; 例如單個類,如java.util.HashMap。

• 功能測試在較進階别的用例中将API的組合測試結合在一起。

未來版本的CTS将包括以下類型的測試用例:

• 魯棒性測試測試系統在應力下的耐久性。

• 性能測試根據定義的基準測試系統的性能,例如每秒渲染幀數。

覆寫域

單元測試用例涵蓋以下幾個方面,以確定相容性:

描述
簽名測試 對于每個Android版本,都有XML檔案描述版本中包含的所有公共API的簽名。CTS包含一個實用程式,用于根據裝置上可用的API檢查這些API簽名。簽名檢查的結果記錄在測試結果XML檔案中。
平台API測試 測試SDK 類索引中記錄的平台(核心庫和Android應用程式架構)API,以確定API的正确性,包括正确的類,屬性和方法簽名,正确的方法行為和否定測試,以確定不正确的參數處理的預期行為。
達爾維克測試 測試重點是測試Dalvik可執行格式。
平台資料模型 CTS測試核心平台資料模型,通過内容提供商暴露給應用程式開發人員,如SDK android.provider軟體包中所述:聯系人,浏覽器,設定等。
平台意圖 CTS測試核心平台意圖,如SDK 可用意圖中所述。
平台權限 CTS測試核心平台權限,如SDK 可用權限中所述。
平台資源 CTS測試正确處理核心平台資源類型,如SDK 可用資源類型中所述。這包括以下測試:簡單的值,可繪制,九更新檔,動畫,布局,樣式和主題,以及加載備用資源。

設定CTS

實體環境

藍牙LE信标

如果DUT支援藍牙LE功能,則至少有三個藍牙LE信标應放置在DUT的五米内,用于藍牙LE掃描測試。這些信标可以是任何類型的,不需要配置或發出任何具體的信号,并且可以包括iBeacon,Eddystone,甚至模拟BLE信标的裝置。

GPS / GNSS

如果DUT支援全球定位系統(GPS)全球導航衛星系統(GNSS)功能,那麼應該以合适的信号水準向DUT提供符合ICD-GPS-200C的GPS部分的GPS / GNSS信号接收和GPS位置計算。GPS / GNSS信号源可以是任何類型的,從衛星模拟器到室外信号的GPS / GNSS中繼器,簡單地将DUT的位置靠近視窗,使得它可以直接接收足夠的GPS / GNSS信号。

Wi-Fi和IPv6

CTS測試需要支援IPv6的Wi-Fi網絡,可将被測裝置(DUT)視為隔離用戶端,并具有網際網路連接配接。一個孤立的用戶端是指一個配置,其中DUT不能通過Wi-Fi AP配置或通過在隔離子網上運作DUT而無法連接配接其他裝置的子網上的廣播/多網消息的可見性。

如果您無法通路本機IPv6網絡,IPv6營運商網絡或VPN,以根據IPv6通過一些測試,則可以使用Wi-Fi接入點和IPv6隧道。請參閱維基百科的IPv6隧道代理清單。

桌上型電腦設定

CTS目前支援64位Linux和Mac OS主機。

adb和AAPT

在運作CTS之前,請確定您已安裝Android Debug Bridge(adb)和Android Asset Packaging Tool(AAPT)的最新版本,并将這些工具的位置添加到計算機的系統路徑中。

要安裝ADB,請下載下傳 适用于您的作業系統的Android SDK Tools軟體包,将其打開并按照附帶的README檔案中的說明進行操作。有關故障排除資訊,請參閱安裝獨立SDK工具。

確定adb并aapt在您的系統路徑。以下指令假定您已經在主目錄中打開了包歸檔:

export PATH = PATH: HOME / android-sdk-linux / build-tools /

注意:請確定您的起始路徑和目錄名稱正确。

Java開發工具包(JDK)

安裝适當版本的Java開發工具包(JDK)。對于Android 7.0-

在Ubuntu上,使用OpenJDK 8。

在Mac OS上,使用jdk 8u45或更新版本。

有關詳細資訊,請參閱JDK要求。

CTS檔案

下載下傳并打開與您的裝置的Android版本以及裝置支援的所有應用程式二進制接口(ABI)相比對的CTS軟體包。

下載下傳并打開最新版本的CTS Media Files。

裝置檢測

按照步驟設定系統以檢測您的裝置,例如udev為Ubuntu Linux 建立規則檔案。

Android裝置要求

使用者版本

相容裝置被定義為具有使用者/釋放密鑰簽名建構的裝置,是以您的裝置應該基于已知的相容使用者建構(Android 4.0及更高版本)從代碼名稱,标簽和建構号碼運作系統映像。

注意:當用于确定最終系統版本的Android相容性時,必須在user版本的裝置上執行CTS。

第一個API級建構屬性

某些CTS要求取決于最初發貨的裝置。例如,最初與早期版本一起提供的裝置可能會被排除在适用于稍後生成的裝置的系統要求中。

為了向CTS提供此資訊,裝置制造商可以定義建構時屬性:ro.product.first_api_level。該屬性的值是裝置商業化啟動的第一個API級别。

OEM可以添加PRODUCT_PROPERTY_OVERRIDES到其device.mk檔案中以設定此屬性,如以下示例所示:

#ro.product.first_api_level表示第一個api級别,裝置已經在商業上啟動。

PRODUCT_PROPERTY_OVERRIDES + = \

ro.product.first_api_level = 21

注意:産品的第一次生成應該取消設定ro.product.first_api_level屬性(0),并将其設定為所有後續版本的正确API級别值。通過這種方式,該屬性可以正确識别新産品,并且我們沒有丢失關于​​産品的第一個API級别的資訊(0值表示ro.product.first_api_level = Build.VERSION.SDK_INT)。

CTS Shim應用程式

Android 7.0包含以下預建構的應用程式(源自此源代碼),該應用程式不包含清單以外的任何代碼:

frameworks/base/packages/CtsShim/CtsShim.apk

該apk檔案被複制到/system/app/CtsShimPrebuilt.apk 系統映像上。

frameworks/base/packages/CtsShim/CtsShimPriv.apk

該apk檔案被複制到/system/priv-app/CtsShimPrivPrebuilt.apk 系統映像上。

CTS使用這些應用來測試權限和權限。要通過測試,您必須将應用程式預加載到系統映像上的相應目錄中,而無需重新簽名。

存儲要求

CTS媒體壓力測試需要視訊剪輯在外部存儲(/sdcard)上。大部分剪輯均來自Big Buck Bunny,受到“ 知識共享署名3.0”授權的Blender Foundation版權所有 。

所需的空間取決于裝置支援的最大視訊播放分辨率(有關所需分辨率的平台版本,請參閱相容性定義文檔中的第5節。)請注意,被測裝置的視訊播放功能将通過android.media.CamcorderProfileAPI适用于早期版本的Android和android.media.MediaCodecInfo.CodecCapabilitiesAndroid 5.0 的API。

以下是最高視訊播放解析度的存儲要求:

480x360:98MB

720x480:193MB

1280x720:606MB

1920x1080:1863MB

螢幕和存儲

任何沒有嵌入式螢幕的裝置需要連接配接到螢幕。

如果裝置有存儲卡插槽,請插入空的SD卡。使用支援SDHC或SDXC容量的超高速(UHS)總線的SD卡或至少具有10級以上速度的SD卡,以確定它能通過CTS。

警告: CTS可能會修改/删除插入裝置的SD卡上的資料。

如果裝置有SIM卡插槽,請将激活的SIM卡插入每個插槽。如果裝置支援短信,則每個SIM卡應該有自己的号碼字段填充。

開發者UICC

為了運作CTS營運商API測試,該裝置需要具有載體特權規則的SIM卡。請參閱準備UICC。

Android裝置設定

  1. 工廠資料重置裝置:設定>備份和重置>出廠設定複位

    警告:這将清除裝置中的所有使用者資料。

  2. 将裝置的語言設定為英語(美國):設定>語言和輸入>語言
  3. 如果裝置上有GPS或Wi-Fi /蜂窩網絡功能,請打開位置設定:設定>位置>開
  4. 連接配接到支援IPv6的Wi-Fi網絡,可以将被測裝置(DUT)視為隔離用戶端(請參閱上面的實體環境部分),并具有Internet連接配接:設定> Wi-Fi
  5. 確定裝置上沒有設定鎖定模式或密碼:設定>安全性>螢幕鎖定>無
  6. 在裝置上啟用USB調試:設定>開發人員選項> USB調試。

    * 注意:在Android 4.2及更高版本上,預設情況下隐藏開發人員選項。要使它們可用,請轉到設定>關于手機,然後點選建構号碼 七次。傳回上一個螢幕以查找開發人員選項。有關其他詳細資訊,請參閱啟用裝置上開發人員選項。*

  7. 確定時間設定為12小時格式:設定>日期和時間>使用24小時格式>關閉
  8. 選擇:設定>開發人員選項>保持清醒>打開
  9. 選擇:設定>開發人員選項>允許模拟位置>打開

    注意:此模拟位置設定僅适用于Android 5.x和4.4.x.

  10. 選擇:設定>開發人員選項>通過USB驗證應用程式>關閉

    注意: Android 4.2中需要驗證應用步驟。

  11. 啟動浏覽器并關閉任何啟動/設定螢幕。
  12. 連接配接用于使用USB電纜測試裝置的桌上型電腦

    注意:将運作Android 4.2.2或更高版本的裝置連接配接到計算機時,系統會顯示一個對話框,詢問是否接受允許通過此計算機進行調試的RSA密鑰。選擇允許USB調試。

  13. 在裝置上安裝和配置幫助應用程式。

    注意:對于CTS版本2.1 R2至4.2 R4,請設定您的裝置(或仿真器)以運作輔助功能測試:

    adb install -r android-cts/repository/testcases/CtsDelegatingAccessibilityService.apk

    在裝置上,啟用:設定>輔助功能>輔助功能>委托輔助功能服務

    注意:對于7.0之前的CTS版本,在聲明的裝置上 android.software.device_admin,将您的裝置設定為運作裝置管理測試:

    adb install -r android-cts/repository/testcases/CtsDeviceAdmin.apk

    在設定>安全>選擇裝置管理者,啟用兩個 android.deviceadmin.cts.CtsDeviceAdminReceiver*裝置管理者。確定 android.deviceadmin.cts.CtsDeviceAdminDeactivatedReceiver和任何其他預裝裝置管理者保持禁用

  14. 将CTS媒體檔案複制到裝置,如下所示

    注意:對于CTS 2.3 R12及更高版本,如果裝置支援視訊編解碼器,則必須将CTS媒體檔案複制到裝置。

    cd到媒體檔案下載下傳并解壓縮到的路徑。

    更改檔案權限: chmod u+x copy_media.sh

    運作copy_media.sh:

    要将剪輯複制到720x480的分辨率,請運作: ./copy_media.sh 720x480

    如果您不确定最大分辨率,請嘗試./copy_media.sh all複制所有檔案。

    如果adb下有多個裝置,請将-s(serial)選項添加到末尾。例如,要使用串行1234567将裝置複制到720x480,請運作:./copy_media.sh 720x480 -s 1234567

注意事項:

除了官網提到的如上内容,還簡單補充一下:

  • 可以用CTS Verifier的Bluetooth測試模拟BLE信号
  • 關于網絡和IPv6前面的部落格寫了
  • 最好使用Ubuntu 14 ,友善安裝32位依賴庫
  • 關于強制安裝32位依賴,參考一下:http://www.cnblogs.com/cartsp/p/5308604.html
  • 将adb和aapt複制到/bin目錄下比較友善,
  • 可以在Ubuntu安裝一下Android Studio。順便用它配置adb以及下載下傳SDK,用來debug也友善
  • android 7.0之後的CTS tool ,需要使用OpenJDK8,。

    安裝指令:

    sudo add-apt-repository ppa:openjdk-r/ppa

    sudo apt-get update

    sudo apt-get install openjdk-8-jdk

    配置指令:

    sudo update-alternatives –config java

    sudo update-alternatives –config javac

    驗證指令:

    java -version

  • media檔案要及時更新哦
  • 國内需要使用聯通SIM卡來測試
  • 關于UICC SIM卡需要定制