Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> android CTS測試之TV智能電視總結筆記

android CTS測試之TV智能電視總結筆記

編輯:關於Android編程


硬件廠商測試cts的目的

1.平台兼容性測試:不需要過google cts認證(國內一些廠商這樣做的,海外產品必須過cts)

2.過google的兼容性測試:拿到google的cts認證,才具有Google Play的通行證

cts相關源碼目錄:

jbcts
jbcts ests ests
jblibcorelunisrc --》測試android.core.test.libcore.*相應的測試源碼路徑

cts 測試設置步驟:

1.配置測試環境(測試電腦的環境要求及配置等,具體步驟和要求參考google說明)

2.cts所需測試資源:在sd卡下面創建test目錄,放入如下網站下載的測試資料CTS Media Files,主要是視頻播放片源等
http://source.android.com/compatibility/downloads.html -》CTS Media Files

3.目標設備的設置

1).安裝cts測試需要的apk到目標板:CtsDelegatingAccessibilityService.apk,CtsDeviceAdmin.apk

(這兩個APK可以在cts源碼目錄的testcase中找到)

2).系統setting的配置

(如果項目刪除了默認的setting或者深度修改了,可以用google的原生setting替代原有的setting來進行設置)
進入settings打開Wi-Fi並連接AP (AP需要連外網)
進入settings->Security->Screenlock設為None
進入settings->Security->Deviceadministrators->Enable兩個選項
進入Language&input->language設為English(UnitedStates)
進入settings->Display->Sleep設為30minutes或None
進入settings->Accessibility->EnableDelegating Accessibility Service
進入settings->Developeroptions->Enable USB debugging、Stay awake、Allowmock locations
手動設置時間,並將時區調為北京,設置國家為china

4.連接要求

測試過程中:測試電腦和目標板通過adb連接,目標板連上wifi熱點

我們的設備是智能電視,沒有usb device接口,所以只能通過網絡來連接adb。

為了保證測試過程中adb的穩定性,可以通過網線,路由在電腦和設備之間組成一個局域網絡,並連接外網測試

5.目標板插上usb攝像頭(設備沒有自帶的攝像頭,部分測試用例需要camera功能),

6.執行cts測試命令

CTS測試步驟命令精簡:

首先按上面步驟配置好相應環境,然後在電腦終端執行下面的命令

1. setprop sys.usb.config adb

在android設備終端串口輸入這個命令,打開ADB功能 (若adb默認打開,不需要此步)

2. adb connect IP_address_android

在電腦命令終端輸入adb connect 192.168.1.XX (android設備的IP地址,在串口中通過ifconfig命令可以查看到)

3. ./cts-tradefed android-cts/tools目錄下面自帶的執行文件,目的是用來進入CTS測試模式cts-tf >

4. l d 查看設備是否連接正常

5. run cts --plan CTS --disable-reboot

啟動CTS測試,測試CTS的全部測試計劃

加上--disable-reboot選項,防止設備重啟(某些CTS測試項可能會使設別重啟,不能繼續測試,加上這個選項可以避免)

中斷後重新啟動測試:

6. l r 查看上次運行情況,獲知 sessionID 號

7. run cts --continue-session sessionID --disable-reboot

繼續運行上次的cts項 ,sessionID = 0, 1 ,2 。。。。。。

單獨測試:

8.run cts -p package_name 單獨測試package_name包

9.run cts -c com.class_name -m methmod_name 單獨測試某個類的方法 -c 後面跟類名全路徑 –m 後面跟方法名

單獨對fail/notExecuted/timeout的測試項進行測試:

10. l r 獲取上次測試的session ID

11. add derivedplan --plan plan_name --session/-s sessionID -r [pass/fail/notExecuted]

run cts --plan plan_name

例子:
add deriveplan --plan mycts -s 2 -r fail
run cts --plan mycts --disable-reboot

12.對整體測試完成後,單獨測試fail項的一種簡單方法:

1) .整體測試完成,生成result report 等xml文件 ,通過l r 查看session ID號,
2) .編輯result report 中的xml文件,把其中的fail項全部替換成not executed 項,
3) .使用run cts --continue-session session_ID 重新執行之前的fail項,得到新的result report xml

cts fail項處理

每次測試完一個CTS ID後,都會產生一個目錄,裡面有測試log及測試result report 的xml文件.

通過xml文件及log信息裡面的錯誤信息,找到對應的cts 測試安排款源碼,分析定位問題

cts fail項 log 關鍵字查找

TestRunner: started:
TestRunner: finished
TestRunner: passed
TestRunner: failed

智能電視cts測試的特點:

除了上述提到的adb連接和手機、平板有區別外,在外圍設備上也有一些差別。

比如,一般智能電視android TV 都沒有藍牙等功能,所以在測試cts的藍牙項時往往會失敗,需要把系統的藍牙配置功能關閉。如下:

1.刪除etc/*xml下面藍牙相關的xml配置文件

2.在systemserver.java中關閉bluetoothservice的注冊

其他硬件功能相關的配置文件 :etc/*xml 或者 system/etc/*xml

 

 

 


 

 

??
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved