簡析Android 兼容性測試框架CTS使用


一、什么是兼容性測試?

  1)為用戶提供最好的用戶體驗,讓更多高質量的APP可以順利的運行在此平台上

  2)讓程序員能為此平台寫更多的高質量的應用程序

  3)可以更好的利用Android應用市場

 

二、CTS覆蓋領域

 1)簽名測試:針對每個Android正式版,都將附帶一系列XML文檔對所有的公共API簽名進行描述。CTS將檢查這些簽名是否適用於該設備,並保存其結果。

 2)平台API測試:測試SDK中平台核心庫和Android應用程序框架的API是否正確

 3)Dalvik虛擬機測試:集中測試Dalvik虛擬機

 4)平台數據模型測試:測試通過content provides 暴露給程序員的平台數據模型中的核心部分,如聯系人,瀏覽器和設置等應用

 5)平台intents測試:測試在SDK中定義的可用平台intents中的核心部分

 6)平台權限測試:測試在SDK中定義的可用平台權限中的核心部分

 7)平台資源測試:測試在SDK中定義的可用資源類型中的核心部分,如simple values/drawables/nine-patch/animations/layouts/styles/themes

 

三、CTS運行前的准備工作

 1)熟悉CDDCompability Definition Document),兼容性規范文檔。CTS所測試的一切為了確保設備符合該規范,所以我們測試之前必須要對CDD中提出的要求非常熟悉才行

 2)CTSCompability Test SuiteCTS的測試套件,用於實際測試運行所用

 3)CTS Verifier 的應用,它將直接安裝在手機上,主要用於硬件及CTS測試套件難以測試的一些偏功能型的接口測試,比如CameraGPS和各種sensor

 

四、下載地址:

http://source.android.com/compatibility/downloads.html

這里由於天國對網絡的限制,上面網址訪問不了,建議注冊一個GreenVPN,非常好用

http://gjsq.me/16647406 (合作推廣鏈接,並非釣魚網站)注冊跳轉頁面

 

五、CTS運行前配置

1)確保Text 和 Speech文件都被安裝到設備中。可到Setting-->Speech synthesis ——>Install voice data 中檢查

2)確保設備包含外置SD卡且該卡為空

3)運行CTS前需要回復出廠設置

4)確保屏鎖已經關閉

5)確保未知資源已開啟

6)確保USB調試選項已被勾選

7)確保屏幕常亮已被勾選

8)確保Allow mock location已被勾選

9)確保設備已連接上可用的Wi-Fi網絡

10)確保語言已經切換成英文

11)確保當前屏幕為主頁

12)當設備在運行測試用例是,不允許再動它

13)當CTS運行時不允許按下設備上任何物理按鍵,按下按鍵可能會干擾正常測試,從而導致測試失敗

14)在執行CtsDelegatingAccessibilityService應用:

在repository/testcases文件夾下

打開服務 Setting>Accessibility>Delegating Accessibility Service

15)在執行administration測試包前需要執行以下兩步

安裝CtsDeviceAdmin應用

在repository/testcases文件夾下

打開服務:Setting>Security>Device Administrators >Enable

 16)在執行CTS media壓力測試前需將CTS media 問價拷貝到設備中,並進行調整

 

六、CTS的命令及運行

輸入命令進入cts-tradefed文件所在的路徑,確保一台設備已連接,在CTS命令控制台下課運行CTS腳本,如運行cts-tradefed的方式為:

#./cts-tradefed

 

1)查看執行測試計划

Cts-ft>list plans   //簡化版 l  p

不同版本測試計划基本一樣,可分七種

 CTS:運行所有的兼容性測試用例,目前暫時不包括性能測試用例

 Signature:對簽名的所有的公共接口進行驗證

Android:對Android的接口進行測試

Java:對Java核心庫進行測試

VM:對Dalvik虛擬機進行測試

RefAPP:對參考應用進行測試

Performance:對性能進行測試

 不明白可以執行help命令

 

2)查看有哪些測試包

Cts-tf>list packages  //簡化版 l packages

執行某個測試包

Cts-tf>run cts --package<package_name>

測試util包

Cts-tf>run cts --package android.util

 

3)單獨測試某個用例

Cts-tf>run cts -c <package name> -m <testcase_name>

 

4)查看結果

Cts-tf>list result //簡化版  l  r

 

測試報告會在repository/results文件夾下

 

5)如何對失敗的測試項進行再測試

Cts-tf>l r //查看測試結果

其次根據start time時間,確定你要的任務的session編號例如20

命令:

Add derivedplan --plan plane_name -s session_id -r [pass/fail/notExecuted/timeout]

 

例如:

Add derivedplan -plan plane_name -s 20 -r fail

 

最后執行命令開始測試

Run cts -plan <plane_nasme>

 

備注:后期再編輯添加實踐圖片進行詳解

最后感謝聯想許奔的《深入理解Android自動化測試》


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM