Ubantu下搭建Android CTS 兼容性測試環境及單項測試操作步驟

    CTS 全稱(Compatibility Test Suite),兼容性測試工具,其目的就是讓各種Android設備廠商能夠開發出兼容性更好的Android設備,同時,Google也提供了一份兼容性標準文檔(Compatibility Definition Document, CDD)Android設備只有滿足CDD的規定並且通過CTS,才能獲得Android的商標和享受Android Market的權限。

環境準備:

1、安裝ubantu環境

      Windows下搭建Ubantu環境

2、安裝openjdk8

    opendjk8的安裝按照google官方文檔是需要ubuntu version >15.04,在v>15.04時,可以直接使用下述命令進行openjdk8的安裝。

    $ sudo apt-get update
    $ sudo apt-get install openjdk-8-jdk

 也可以去oracle官網下載相應的jdk進行安裝(需要配置環境變量)

3、Android SDK安裝

   android sdk 百度雲盤地址:https://pan.baidu.com/s/1G0kvpx81ZAX-XCVydDl0Dw 密碼:hmwe 

解壓之後,設置環境變量

psp@ubuntu:~$ gedit ~/.bashrc

export ANDROID_SDK_HOME=/home/psp/androidTool/android-sdk-linux
export PATH=$PATH:${ANDROID_SDK_HOME}/tools
export PATH=$PATH:${ANDROID_SDK_HOME}/platform-tools
export PATH=$PATH:${ANDROID_SDK_HOME}/build-tools/24.0.1

4.下載CTS測試套件

百度雲盤地址:https://pan.baidu.com/s/1Y0ReCIHvdiuzIP59R83ggA 密碼:91la

官方地址 http://source.android.com/compatibility/cts/downloads.html

下載之後解壓。解壓路徑:/home/psp/cts/android-cts  

5、單項測試操作步驟

a、測試之前,確保adb 連接到電腦

psp@ubuntu:~$ adb devices
List of devices attached
18137B451D    device

b、之後執行以下命令:

psp@ubuntu:~$ cd cts/android-cts/
psp@ubuntu:~/cts/android-cts$ ls
logs  results  testcases  tools
psp@ubuntu:~/cts/android-cts$ cd tools/
psp@ubuntu:~/cts/android-cts/tools$ ./cts-tradefed 
Android Compatibility Test Suite 7.1_r18 (4800211)
08-09 00:50:13 I/DeviceManager: Detected new device 18137B451D

cts-tf >   

c、然後在cts-tf > 後執行測試命令:cts-tf > run cts -m CtsAppTestCases -t android.app.cts.SystemFeaturesTest#testNfcFeatures

“-m” :意思就是我們要測試的模塊 
“-t”:意思就是我們的測試的類 
“#後面的方法”:我們要測試類中的方法。 
如果要想執行某一個模塊的測試項,直接用-m參數,其它參數就不需要了。如果想測試某一個類的話,需要加上-m 和-t的參數了。

輸出如下:

cts-tf > run cts -m CtsAppTestCases -t android.app.cts.SystemFeaturesTest#testNfcFeatures 
08-09 00:54:50 I/TestInvocation: Starting invocation for 'cts' on build '4800211' cts -m CtsAppTestCases -t android.app.cts.SystemFeaturesTest#testNfcFeatures Compatibility Test Suite 4800211 CTS 1533801290986 /home/psp/cts/android-cts/tools/./../.. 7.1_r18 cts https://androidpartner.googleapis.com/v1/dynamicconfig/suites/CTS/modules/{module}/version/{version}?key=AIzaSyAbwX5JRlmsLeygY2WWihpIJPXFLueOQ3U 2018.08.09_00.54.50 on device 18137B451D
08-09 00:54:51 I/ResultReporter: Initializing result directory
08-09 00:54:51 I/ResultReporter: Results Directory: /home/psp/cts/android-cts/tools/./../../android-cts/results/2018.08.09_00.54.50
08-09 00:54:51 I/ResultReporter: Created log dir /home/psp/cts/android-cts/tools/./../../android-cts/logs/2018.08.09_00.54.50
08-09 00:54:51 W/BatteryFetcher: IOException getting battery level for device 18137B451D: Unrecognized response to battery level queries
08-09 00:54:52 W/DynamicConfigPusher: Cannot download and parse json config from URL https://androidpartner.googleapis.com/v1/dynamicconfig/suites/CTS/modules/cts/version/7.1_r18?key=AIzaSyAbwX5JRlmsLeygY2WWihpIJPXFLueOQ3U
08-09 00:54:54 I/SettingsPreparer: Setting verifier_verify_adb_installs to value 0
08-09 00:54:55 I/ApkPreconditionCheck: Instrumenting package com.android.preconditions.cts:
08-09 00:55:05 I/ApkPreconditionCheck: Target preparation successful
08-09 00:55:07 E/WifiCheck: Device has no network connection, no ssid provided, some modules of CTS require an active network connection
08-09 00:55:08 I/DeviceInfoCollector: Instrumenting package com.android.compatibility.common.deviceinfo:
08-09 00:55:33 I/DeviceInfoCollector: Target preparation successful
08-09 00:55:35 W/PropertyCheck: Expected "user" but found "userdebug" for property: ro.build.type
08-09 00:55:35 W/BatteryFetcher: IOException getting battery level for device 18137B451D: Unrecognized response to battery level queries
08-09 00:55:38 I/ModuleRepo: 18137B451D running 2 modules, expected to complete in 13m 16s
08-09 00:55:38 I/CompatibilityTest: Starting 2 modules on 18137B451D
08-09 00:55:39 I/LocationCheck: Verifying location setting
08-09 00:55:41 I/LocationCheck: Verifying location setting
08-09 00:55:59 I/ConsoleReporter: [18137B451D] Starting armeabi-v7a CtsAppTestCases with 1 test
08-09 00:55:59 I/ConsoleReporter: [1/1 armeabi-v7a CtsAppTestCases 18137B451D] android.app.cts.SystemFeaturesTest#testNfcFeatures pass

08-09 00:55:59 I/ConsoleReporter: [18137B451D] armeabi-v7a CtsAppTestCases completed in 185 ms. 1 passed, 0 failed, 0 not executed
08-09 00:56:04 W/CompatibilityTest: Inaccurate runtime hint for armeabi-v7a CtsAppTestCases, expected 6m 38s was 21s
08-09 00:56:05 I/MonitoringUtils: Connectivity check failed, retrying in 5000ms
08-09 00:56:12 I/MonitoringUtils: Connectivity check failed, retrying in 5000ms
08-09 00:56:18 I/MonitoringUtils: Connectivity check failed, retrying in 5000ms
08-09 00:56:24 I/MonitoringUtils: Connectivity check failed, retrying in 5000ms
08-09 00:56:31 I/MonitoringUtils: Connectivity check failed, retrying in 5000ms
08-09 00:56:37 I/MonitoringUtils: Connectivity check failed, retrying in 5000ms

以下輸出表示該項測試通過。

08-09 00:55:59 I/ConsoleReporter: [18137B451D] Starting armeabi-v7a CtsAppTestCases with 1 test
08-09 00:55:59 I/ConsoleReporter: [1/1 armeabi-v7a CtsAppTestCases 18137B451D] android.app.cts.SystemFeaturesTest#testNfcFeatures pass

08-09 00:55:59 I/ConsoleReporter: [18137B451D] armeabi-v7a CtsAppTestCases completed in 185 ms. 1 passed, 0 failed, 0

d、相關log和results會保存到以下路徑

psp@ubuntu:~/cts/android-cts$ ls
logs  results  testcases  tools

注意:有時候adb devices 會出現no permissions的情況,請參考博文
???????????? no permissions的解決辦法 解決網上方法行不通的問題

參考博文:https://blog.csdn.net/huangwei858/article/details/70227463

https://blog.csdn.net/cxq234843654/article/details/52232413

 

 

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