最近一直在做Android兼容性測試,根據Android官網給出的android-cts-manual 配置好了device後,開始測試。
首先配置軟件環境:
1、下載Android-2.1系統,並編譯。
$ . build/envsetup.sh //配置選項,並編譯android源碼
$ make cts //android源碼編譯好後,在編譯cts
2、編譯好cts後生成的文件位置如下
#mydroid/out/host/linux-x86/
在該目錄下包含如下測試文件
- Package CTS: out/host/linux-x86/cts/android-cts.zip
- cts make file: mydroid/build/core/tasks/cts.mk
- run cts program: mydroid/out/host/linux-x86/bin/cts
- test plans: mydroid/out/host/linux-x86/cts/android-cts/repository/plans
- test packages: mydroid/out/host/linux-x86/cts/android-cts/repository/testcases
- test results: mydroid/out/host/linux-x86/cts/android-cts/repository/results
- CTS program settings value: mydroid/cts/tools/utils/host_config.xml
3、連接上Device後,進入如下目錄
#mydroid/out/host/linux-x86/bin/
並輸入./cts來啟動cts測試,效果如下:
Android CTS version 2.1_pre_r2
device(0123456789ABCEDF) connected
cts_host >
此時輸入 help 將會列出cts所有的操作。
cts_host> ls --plan //list all test plan
cts_host> ls -p //list all testcase
cts_host>start --plan [plan name] //test plan
.............
.............
4、進入目錄
#mydroid/out/host/linux-x86/cts/android-cts/repository/plans
將會看到有8個測試的基類,它們分別是
Android.xml
AppSecurity.xml
CTS.xml
Java.xml
Performance.xml
RefApp.xml
Signature.xml
VM.xml
用UltraEdit打開這些文件後,將會看到所有基類裡包含的package 都給出了相應的uri,
cts將根據這些uri去測試每個基類裡的package,
5、cts_host > start --plan Android
輸入上面的命令後,就開始測試 Android API, 其它的類測試命令和這個一致,如下:
cts_host > start --plan Android //test Android API
cts_host > start --plan CTS //contains all tests and will run ~21,000 tests on your device
cts_host > start --plan Java //test Java core libary
。。。。。。。。。
6、測試好後,通過輸入如下命令來查看測試情況
cts_host > ls -r
7、CTS測試會自動生成相應的測試包,該包位於如下目錄:
#mydroid/out/host/linux-x86/cts/android-cts/repository/results
每個測試包中包含了如下文件;
cts_result.css
cts_result.xsl
logo.gif
newrule-green.png
testResult.xml
該包的測試情況都在 testResult.xml 文件中,通過查看該文件可以知道,那些是和
Android兼容的,,
8、未解決的問題
在測試中會遇到adb重啟,adb重啟後,斷開Device連接,此時需要拔下usb再插上,才能再次測試,
如何解決這一情況有待研究,,
9、幾個不錯的參考網站
1、http://source.android.com/compatibility/index.html // Android compatibility
2、http://androidboss.com/android-cts-compatibility-test-suite-introduction-2/ // CTS how to add new testcase
3、 http://www.at91.com/android4sam/bin/view/Android4SAM/ // Atmel_android sam9m10 website
4、http://blog.csdn.net/zjujoe/archive/2010/06/01/5640461.aspx // good blog