導航:首頁 > 操作系統 > androidcts測試結果

androidcts測試結果

發布時間:2023-01-02 11:51:55

A. 如何判斷 cts android

CTS是什麼?
資料:CDD、CTS官網、android-cts-manual-r4;
CTS是什麼我就不多費話了,看上面官方的說法就行了。不過有一點需要明確,你的設備只有滿足CDD的規定並且通過CTS,才有可能獲得Android的商標和享受Android Market的許可權。這里有可能指的是需要你自己去向google申請的,不是說兼容了,這些東西就自然而然有了。

怎麼用:
資料: android-cts-manual-r4、宋立新_Android CTS測試研究;
安裝與配置:
下載或自己編譯;修改startcts中SDK_ROOT;在板子或emulator上裝一個apk;設置setting;
各種命令的用法:
注意:start --plan –p以及start --plan –t的用法,-t要指定一個具體的測試方法
方法1:一般使用的方法
$ ./startcts 注意如果用手機設備調試,用root許可權執行
cts_host > ls --plan 列出所有plan
out/host/linux-x86/cts/android-cts/repository/plans中有plan的具體內容
cts_host > start --plan VM 運行某個plan
測試結果在out/host/linux-x86/cts/android-cts/repository/results目錄下,用瀏覽器看時間目錄下的xml文件即可
注意在改動cts後,還要make cts重新編譯,若只在cts目錄中編譯不能生效
cts_host > ls -p 看當前可用的用例包
cts_host > start --plan Android -p android.app 只運行某個用例包,節約時間
cts_host > start --plan Android -p android.app -t android.app.cts.AlertDialogTest#testAlertDialog
只運行某個用例包中的某個用例
方法2:遇到問題時方便調試的方法
$ adb install out/target/proct/xxxx/data/app/SginatureTest.apk 安裝某個用例包
$ adb shell pm list instrumentation pm用於管理package,看當前機器安裝了什麼用例
$ adb shell am instrument -w android.tests.sigtest/.InstrumentationRunner am用於管理activity 運行某一用例
$ adb shell am instrument -e class android.app.cts.AlertDialogTest#testAlertDialog -w com.android.cts.app/android.test/InstrumentationCtsTestRunner 單獨運行一個小case
如果在一個時間很長的plan(如Android)中,某處錯了,而錯誤信息又不全,需要單獨跑一個小case,用-e指明class明就可以節約很多時間

用完後結果的分析:
結果在repository/results中,放在一個文件夾里,名字是你測試開始的時間。
分析的方法有兩種:
1、可以直接從Failure Details找原因;(個人感覺應該難度較大)
2、結合源代碼以及Failure Details的信息找原因
第二種方法牽扯到找測試源代碼的問題,這就要對CTS源碼目錄以及相應生成物的命名有一定的了解。

了解CTS這個工程:
資料:宋立新同學的Android CTS測試研究二、android build system、CTS源碼、makefile以及shell基本知識
了解Linux工程最好的入手點,就是從它的編譯系統入手。
這個涉及到Linux的makefile以及android的編譯系統的基本知識,具體內容還是挺多的,不過看懂了android編譯系統,以後看其他Android工程應該都會得心應手。

在android CTS上增加自己的test package
資料:CTS命令的用法、Erin Yueh的兩篇文章
有兩種方法:
1、完美利用自帶命令(已驗證)
2、用Erin Yueh的方法
用這個方法的前提也是要徹底弄懂CTS的內部結構,不然也只能照貓畫虎

如何寫test case
資料:JUnit、SDK/docs下面的五篇文章、android open source官網/porting/Instrumentation Testing
這又是另外一門學問了
這個test case 可以涉及各個層次,Android 平台相關的測試的寫法可以參考官方的那五篇文章,如何運行可參考上面資料三,其他的可能會涉及到JUnit以及其他一些知識,目前還沒實地考察。

接下來要弄明白的
1、android的編譯系統(學習下makefile以及shell基本知識)
2、CTS這個工程(看看測試包XML生成器的假設成不成立,能不能提取出來)
3、眾多層次test case 的寫法

B. android的cts測試到底有多細

1.下載完整的cts測試工具包,方式有兩種:

a.在現有代碼上編譯,代碼版本與目標機器版本一致;

b.在Google官網下載:http://source.android.com/compatibility/downloads.html,Compatibility
Test Suite (CTS)即可。

2.下載media測試內容,還是上邊的官網,在網頁最下邊:

CTS Media Files

These media files are required for the CTS media stress tests.

CTS Media 1.0

3.連接手機與電腦(至少一台手機)

4.測試前准備

android-cts/repository/testcases中的.apk和CtsDeviceAdmin.apk

安裝完成以上apk後,在手機端操作:

a.設置->輔助程序->Delegating Accessibility Service,打開;

b.設置->安全->設備管理器->CTS相關的兩個選項都激活;

c.打開USB調試模式;

d.保持屏幕喚醒;

e.允許模仿位置;

f.切換至英文模式US。

5.進入cts控制台

執行android-cts/tools/cts-tradefed

dev@linux -dev:~/android/CTS/android-cts/tools$ ./cts-tradefed

09-0509:20:52 I/: Detectednew device c8090fe4

09-0509:20:52 I/: Detectednew device5348300e

Android CTS 4.2_r1

我現在連接著兩台設備,都檢測到了。

6.開始進行CTS測試

首先,在控制台中輸入help看這個控制台都能幹什麼。

cts-tf > help

CTS-tradefed host version 4.2_r1

CTS-tradefed is the test harness for running the Android Compatibility
Suite, built on top of the tradefed framework.

Available commands and options

Host:

help: show this message

help all: show the complete tradefed help

exit: gracefully exit the cts console, waiting till all invocations are
complete

Run:

run cts --plan test_plan_name: run a test plan

run cts --package/-p: run a CTS test package

run cts --class/-c [--method/-m]: run a specific test class
and/ormethod

run cts --continue-session session_ID: run all not executed tests from a
previous CTS session

run cts [options] --serial/s device_ID: run CTS on specified device

run cts [options] --shards number_of_shards: shard a CTS run into given
number of independent chunks, to run on multiple devices inparallel

run cts --help/--help-all: get more help on running CTS

List:

l/list d/devices: list connected devices and their state

l/list packages: list CTS test packages

l/list p/plans: list CTS test plans

l/list i/invocations: list invocations aka CTS test runs currentlyin
progress

l/list c/commands: list commands: aka CTS test run commands currently in
the queue waiting to be allocated devices

l/list r/results: list CTS results currently present in the repository

Add:

add derivedplan --plan plane_name --session/-s session_id-r
[pass/fail/notExecuted/timeout]: derive a plan from the given session

Dump:

d/mp l/logs: mp the tradefed logsfor all running invocations

Options:

--disable-reboot: Do not reboot device after running some amount of
tests.

run cts --plan + 運行某個plan,查看當前支持的plan,運行l
p,實際上所有的plan存放在android-cts/repository/plans;

run cts --package/-p 運行某一個測試包;

run cts --class/-c [--method/-m] 運行某一個測試類或測試方法;

run cts --continue-session session_ID 繼續運行之前沒有完成的CTS測試,要知道它的session_ID;

run cts [options] --serial/s device_ID 在某個串號的設備上進行CTS測試,對應多個機器的時候,通過adb
devices能夠查看當前連接的所有設備的串號;

run cts [options] --shards number_of_shards 在多個設備上同時運行CTS測試,如run cts --plan
CTS --shards 2,在兩個設備上同時運行;

run cts --help/--help-all 展示更多幫助

查看列表:

查看行為是l/list,接不同的參數顯示對應信息。

d/devices 當前連接的設備,效果同adb devices,不過信息更詳細,還有設備電量信息;

packages 當前CTS plan的所有測試包;

p/plan 當前所支持的CTS plan有哪些;

i/invocations 當前CTS的運行狀態;

c/commands 展示出用戶輸入過的命令;

r/results 展示以往的測試結果

Session Pass Fail Not Executed Start time Plan name Device serial(s)

0 17720 239 12 2013.08.24_18.23.23 CTS c8090fe4

1 17907 64 0 2013.09.04_17.51.15 CTS FUSC85YLYPAMRC69

需要特別關注的幾點注意事項:

首先,手機的功能一定要完整,WIFI BT 3G CAMERA等;

手機要切換至英文語言;

連接到可用WIFI;

有SIM卡,並能夠打電話發簡訊;

對於屏幕密度,目前CTS中最高支持320,但實際上Google已經添加了對480,也就是1080p的支持;

會檢測Fingerprint,注意廠家名;

要保證能夠訪問到www.google.com;

實戰演戲:

連接兩台手機後,進入cts控制台:

run cts --plan CTS --shards 2

兩台手機上會同時跑起CTS測試,大概5小時候測試完成,生成測試報告,保存在results下。

C. 如何通過Android CTS測試

Android的CTS測試,英文為Compatibility Test Suite,意為兼容性測試。只有通過CTS測試的設備才有可能獲得Android的商標和享受Android Market的許可權。以下分享我對Android CTS的認識。
一、取得Compatibility Test Suite的兩種方法:
(1)可以從http://source.android.com/compatibility/downloads.html下載最新版本的Compatibility Test Suit;
(2)也可以通過編譯Android源代碼的方式獲得。在android源代碼目錄下輸入make cts命令來編譯CTS,之後會在out/host/linux-x86/cts/下生成android-cts文件夾。這個文件夾就是Compatibility Test Suit。
==========================================
1、Error occurred ring initialization of VM
Could not reserve enough space for object heap
從字面上看是在初始化java Vm的時候不能獲取足夠的堆空間,於是修改了build/core/definition.mk文件中的編譯core.jar和framework.jar時需要的-JXmx為1024m,此參數代表編譯上述兩個包時需要的最大內存,此初始值為2048M,由於我的PC電腦總的內存才2G,系統運行會占據一部分內存,故編譯android的時候肯定不會分配2G內存,
解決:
把build/core/definitions.mk 文件
第1528行:$(if $(findstring windows,$(HOST_OS)),,-JXms16M -JXmx2048M) \
改成: $(if $(findstring windows,$(HOST_OS)),,-JXms16M -JXmx1024M) \
http://blog.csdn.net/leerobin83/article/details/7873229
==========================================
二、運行CTS的方法,步驟如下:
(1)進入目錄android-cts,該目錄是通過上面那兩種方法獲得的。在android-cts目錄下會有3個文件夾,其中一個是tools。
(2)進入tools目錄,輸入./startcts來啟動CTS。
(3)如果運行成功會出現Android CTS version 2.3_r1的字樣(我的android的版本是2.3的)。如果有連接設備到PC上還會出現Device(設備ID)connected的字樣。這里設備可以是連接PC的android的機器,也可以是模擬器。
三、CTS測試的方法:
(1)在cts_host>下敲入help,會顯示cts下的許多命令。ls –plan命令顯示google自帶的測試方案,如:Java、Signature、Android、CTS、VM、RefApp、Performance、AppSecurity。其中Performance這個方案是google暫不要求的。Java、Signature、Android、VM、RefApp、Appsecurity方案都是CTS方案的子集。
(2)用命令ls -d來查看已連接的設備,CTS測試之前我們必須保證至少有一個設備連接上。
(3)輸入命令start –plan CTS來執行CTS測試方案,該方案有兩萬多條測試項目,需要很長時間,因此除了第一次測試之外,不建議這么做。我做的都是針對某些包的測試。如果連接了多個設備的話需加上-d參數,後面跟上設備id來告訴CTS需要測試的設備。
(4)對單獨一個包進行測試的方法:start –plan CTS –p 包名;推薦用這種方法來進行針對性的測試。需要知道有哪些包名,可以輸入命令:ls –plan CTS
(5)也可以針對單獨一個case進行測試:start –plan CTS –test 類名#方法名
四、查看測試的結果:
測試生成的log在\android-cts\repository目錄下以log+測試時間.txt命名。測試報告在android-cts\repository\results目錄下,也是以測試時間命名。
五、注意事項:
(1)測試前需要安裝一個apk:adb install -r android-cts/repository/testcases/.apk 然後在設置裡面

D. 如何通過Android CTS測試

通過Android CTS測試的方法步驟:
一、運行CTS的方法,步驟如下:
1、進入目錄android-cts,該目錄是通過上面那兩種方法獲得的。在android-cts目錄下會有3個文件夾,其中一個是tools。
2、進入tools目錄,輸入./startcts來啟動CTS。
3、如果運行成功會出現Android CTS version 2.3_r1的字樣(我的android的版本是2.3的)。如果有連接設備到PC上還會出現Device(設備ID)connected的字樣。這里設備可以是連接PC的android的機器,也可以是模擬器。
二、CTS測試的方法:
1、在cts_host>下敲入help,會顯示cts下的許多命令。ls –plan命令顯示google自帶的測試方案,如:Java、Signature、Android、CTS、VM、RefApp、Performance、AppSecurity。其中Performance這個方案是google暫不要求的。Java、Signature、Android、VM、RefApp、Appsecurity方案都是CTS方案的子集。
2、用命令ls -d來查看已連接的設備,CTS測試之前我們必須保證至少有一個設備連接上。
3、輸入命令start –plan CTS來執行CTS測試方案,該方案有兩萬多條測試項目,需要很長時間,因此除了第一次測試之外,不建議這么做。我做的都是針對某些包的測試。如果連接了多個設備的話需加上-d參數,後面跟上設備id來告訴CTS需要測試的設備。
4、對單獨一個包進行測試的方法:start –plan CTS –p 包名;推薦用這種方法來進行針對性的測試。需要知道有哪些包名,可以輸入命令:ls –plan CTS
5、也可以針對單獨一個case進行測試:start –plan CTS –test 類名#方法名
三、查看測試的結果:
測試生成的log在\android-cts\repository目錄下以log+測試時間.txt命名。測試報告在android-cts\repository\results目錄下,也是以測試時間命名。
四、注意事項:
測試前需要安裝一個apk:adb install -r android-cts/repository/testcases/.apk 然後在設置裡面

E. 如何進行android兼容性測試cts

二、運行CTS的方法,步驟如下:
(1)進入目錄android-cts,該目錄是通過上面那兩種方法獲得的。在android-cts目錄下會有3個文件夾,其中一個是tools。
(2)進入tools目錄,輸入./startcts來啟動CTS。
(3)如果運行成功會出現Android CTS version 2.3_r1的字樣(我的android的版本是2.3的)。如果有連接設備到PC上還會出現Device(設備ID)connected的字樣。這里設備可以是連接PC的android的機器,也可以是模擬器。
三、CTS測試的方法:
(1)在cts_host>下敲入help,會顯示cts下的許多命令。ls –plan命令顯示google自帶的測試方案,如:Java、Signature、Android、CTS、VM、RefApp、Performance、AppSecurity。其中Performance這個方案是google暫不要求的。Java、Signature、Android、VM、RefApp、Appsecurity方案都是CTS方案的子集。
(2)用命令ls -d來查看已連接的設備,CTS測試之前我們必須保證至少有一個設備連接上。
(3)輸入命令start –plan CTS來執行CTS測試方案,該方案有兩萬多條測試項目,需要很長時間,因此除了第一次測試之外,不建議這么做。我做的都是針對某些包的測試。如果連接了多個設備的話需加上-d參數,後面跟上設備id來告訴CTS需要測試的設備。
(4)對單獨一個包進行測試的方法:start –plan CTS –p 包名;推薦用這種方法來進行針對性的測試。需要知道有哪些包名,可以輸入命令:ls –plan CTS
(5)也可以針對單獨一個case進行測試:start –plan CTS –test 類名#方法名
四、查看測試的結果:
測試生成的log在\android-cts\repository目錄下以log+測試時間.txt命名。測試報告在android-cts\repository\results目錄下,也是以測試時間命名。
五、注意事項:
(1)測試前需要安裝一個apk:adb install -r android-cts/repository/testcases/.apk 然後在設置裡面

閱讀全文

與androidcts測試結果相關的資料

熱點內容
js如何運行時編譯 瀏覽:915
引力app在哪裡下載 瀏覽:607
編寫app如何得到錢 瀏覽:800
吉利汽車軟體放哪個文件夾安裝 瀏覽:223
多文件編譯c 瀏覽:541
頭頂加密後為什麼反而更稀疏 瀏覽:793
離心機壓縮機揚程高 瀏覽:658
xshell連接linux命令 瀏覽:5
把多個文件夾的內容合並在一起 瀏覽:483
基於單片機的澆花系統設計ppt 瀏覽:685
卷積碼編解碼及糾錯性能驗證實驗 瀏覽:354
請在刪除驅動器之前暫停加密什麼意思 瀏覽:787
光催化pdf 瀏覽:98
java字元串包含某字元 瀏覽:528
ssm身份認證源碼 瀏覽:466
預排序遍歷樹演算法 瀏覽:671
加密裝置如何打開ping功能 瀏覽:478
python下載372 瀏覽:901
u盤子文件夾隱藏 瀏覽:296
本地誤刪svn文件夾 瀏覽:686