最近因爲工做須要,要對咱們的智能手機進行兼容性測試,在網上關於windows下測試環境搭建的介紹都比較凌亂,這裏總結一下個人androidCTS測試windows下環境搭建,分享給你們,但願對你們有用。java
Android SDK :android_sdk_windowslinux
Java開發工具包:jdkandroid
手機驅動:usb_driverweb
Cts : android-cts-4.2_r4-linux_x86-arm.zip cts 測試使用的全部APKshell
CTS media:android-cts-media-1.0.zip 進行CTS進行多媒體壓力測試使用的視頻資源windows
CTS verifier APK : android-cts-verifier-4.1_r6-linux_x86-arm.ziptomcat
1、ADB配置:
網絡
一、安裝JDK及java環境變量:app
1> 安裝jdk: eclipse
雙擊解壓CTS_JDK_SDK 雙擊CTS_JDK_SDK\jdk jdk-7u3-windows-i586.exe 一直回車,默認安裝路徑便可。
2> 配置java 環境變量:
右擊「個人電腦」,點擊「屬性」——>」高級」——>「環境變量」——「系統變量」中,設置3項屬性,JAVA_HOME,PATH,CLASSPATH(大小寫無所謂),若已存在則點擊「編輯」,不存在則點擊「新建」;
JAVA_HOME指明JDK安裝路徑,就是剛纔安裝時所選擇的路徑C:\Program Files\Java\jdk1.7.0_03,此路徑下包括lib,bin,jre等文件夾(此變量最好設置,由於之後運行tomcat,eclipse等都須要依*此變量);
Path使得系統能夠在任何路徑下識別java命令,設爲:
%JAVA_HOME%/bin;%JAVA_HOME%/jre/bin
CLASSPATH爲java加載類(class or lib)路徑,只有類在classpath中,java命令才能識別,設爲:
.;%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar;%SDK_ROOT%/tools; %JAVA_HOME%就是引用前面指定的JAVA_HOME;
6.「開始」->;「運行」,鍵入「cmd」;
7.鍵入命令「java -version」,「java」,「javac」幾個命令,出現以下畫面,說明環境變量配置成功;
java version "1.7.0_45"Java(TM) SE Runtime Environment (build 1.7.0_45-b18)Java HotSpot(TM) Client VM (build 24.45-b08, mixed mode, sharing)
ADB配置:
將Android SDK包中tools目錄下的 adb.exe 和 AdbWinApi.dll 複製到 Windows下的 system32 目錄下。
鏈接手機輸入adb shell 便可登陸到你的手機裏。
2、CTS 環境配置:
將CTS_JDK_SDK包解壓後的 android_sdk_windows 、cts 拷貝至D或者C盤 這裏我以拷貝到D盤目錄爲例:
1> 配置SDK變量目錄 :
右擊「個人電腦」,點擊「屬性」——>」高級」——>「環境變量」——「系統變量」添加 SDK_ROOT 變量:變量名:SDK_ROOT 變量值:D:\android_sdk_windows
(2).手機開啓調試模式,鏈接電腦並安裝好驅動,使用
adb install android-cts/repository/testcases/CtsDelegatingAccessibilityService.apk
而後在setting->Accessibility中會多一個Delegating Accessibility Service選項,將這個選項設置爲On。
adb install android-cts/repository/testcases/CtsDeviceadmin.apk
adb install CtsVerifier.apk
在setting->security->device administrators下多出三個選項,將這三個選項勾選上並激活
將SD卡清空。在SD卡中新建目錄test, 將android-cts-media-1.0.zip解壓到test目錄中,將SD卡插入手機中。肯定SD卡爲可讀可寫狀態
另:爲保證測試順利進行,手機不要用圖案或密碼鎖,其餘可選設置可參見CTS相關文檔(非必須);
3、手機設置:
Setting->security->screen lock設爲None
Setting->display->screen timeout -> 30 minutes
打開wifi 鏈接網絡 (若是是自動測試的話,測試過程當中會聯網下載一些APK應用進行測試)。
建立CTS.bat 批處文件 文件內容以下:
ECHO OFF
ECHO CTS(Compatibility Test Suite)...
D:
cd D:\androidCTS\CTS\android-cts\tools
java -cp ddmlib-prebuilt.jar;tradefed-prebuilt.jar;hosttestlib.jar;cts-tradefed.jar -DCTS_ROOT=D:\cts com.android.cts.tradefed.command.CtsConsole
保存文件到 cts\android-cts\tools
4、CTS測試:
手機開機後,用USB鏈接手機和電腦, 雙擊運行cts\android-cts\tools 的 CTS.bat 批處理命令,命令行會出現以下信息:
D:\cts\android-cts\tools>ECHO OFF
CTS(Compatibility Test Suite)...
Android CTS 4.2_r4
01-07 18:41:34 I/: Detected new device 0123456789ABCDEF
輸入 run cts --plan CTS 開始自動徹底測試:
cts-tf > run cts --plan CTS
01-07 18:41:57 I/TestInvocation: Starting invocation for 'cts' on build '4.2_r4'
on device 0123456789ABCDEF
01-07 18:41:57 I/0123456789ABCDEF: Created result dir 2014.01.07_18.41.57
cts-tf >
.....
該自動測試會自動運行,測試過程當中會屢次重啓手機,這個是正常的測試。整個自動測試時間可能比較長,最少三、4個小時還有一些模塊測試或者某個功能測試,能夠在進入cts_tf>後 輸入help查看相關的模塊測試命令。
若是想查看能夠測試系統那些包 輸入:L packages 就會顯示全部能夠測試的包 如:
cts-tf > l packages
android.acceleration
android.accessibility
android.accessibilityservice
android.accounts
android.admin
android.animation
android.app
android.bluetooth
android.calendarcommon
android.content
android.core.tests.libcore.package.com
android.core.tests.libcore.package.dalvik
android.core.tests.libcore.package.libcore
android.core.tests.libcore.package.org
android.core.tests.libcore.package.sun
android.core.tests.libcore.package.tests
android.core.vm-tests-tf
android.database
android.dpi
android.dpi2
android.drm
android.effect
android.example
android.gesture
android.graphics
android.graphics2
android.hardware
android.holo
android.jni
android.location
android.media
android.mediastress
android.monkey
android.nativemedia.sl
android.nativemedia.xa
android.ndef
android.net
android.opengl
android.openglperf
android.os
android.permission
android.permission2
android.preference
android.preference2
android.provider
android.renderscript
android.sax
android.security
android.speech
android.telephony
android.tests.appsecurity
android.tests.sigtest
android.text
android.textureview
android.theme
android.uiautomator
android.util
android.view
android.webkit
Android.widget
如 輸入 run cts -p android.view 則開始測試手機的UI顯示
可使用 l p 或者l plan 查看能夠進行哪些測試計劃 如:
cts-tf > l p
Android
AppSecurity
CTS-TF
CTS
Java
PDK
Signature
VM-TF
如 輸入 run cts --plan java 開始進行java測試計劃
以上是我實踐經過的 固然操做步驟會由於androidSDK 和JDK所存放位置有所不一樣,請根據本身的實際路徑做修改。
同時感謝網絡上的不少朋友提供的思路,我這裏是將他們的思路或者方法融合了本身的實踐作出的總結。若是你看到這篇文章,但願能幫到你,同時請指正可能存在的問題.