运行 CTS 测试命令
運行 CTS 測試
CTS tradefed 使用入門
您可以參閱?Trade Federation 概述,了解有關 Trade Federation(簡稱 tradefed 或 TF)持續測試框架的說明。
運行測試計劃的操作如下:
- 對于 CTS v2(Android 7.0 及更高版本),您可以輸入?list modules?來查看測試模塊列表。
- 對于 CTS v1(Android 6.0 及更低版本),您可以輸入?list plans?來查看存儲區中的測試計劃列表,也可以輸入?list package?來查看存儲區中的測試包列表。
注意:您可以通過使用?run cts-dev?命令(而非?run cts)來縮減在 Android 7.0 (Nougat) 及更高版本中的運行時間。此命令會跳過前提條件、設備信息收集和所有系統狀態檢查工具。它還僅在單個 ABI 上運行測試。對于設備驗證,請忽略此優化操作并添加所有前提條件和檢查。
?
?
若要詳細了解如何實現重試功能,請參閱 Trade Federation 的套件重試頁面。使用 CTS v2 控制臺
對于 Android 7.0 或更高版本,您將使用 CTS v2。
選擇計劃
您可以選擇以下測試計劃:
- cts - 從預裝的 CTS 套件運行 CTS。
- cts-camera - 從預裝的 CTS 套件運行 CTS-camera。
- cts-java - 從預裝的 CTS 套件運行核心 Java 測試。
- cts-pdk - 運行有助于驗證與 PDK 融合的產品的測試。
- everything - 兼容性套件的通用配置。
其他可用配置如下:
- basic-reporters - 基本 CTS 報告程序的配置。
- collect-tests-only - 從預裝的 CTS 套件運行 CTS。
- common-compatibility-config - 兼容性套件的通用配置。
- cts-filtered-sample - 兼容性套件的通用配置。
- cts-known-failures - CTS 已知故障的配置。
- cts-preconditions - CTS 前提條件配置。
- host - 在現有設備上運行單個基于主機的測試。
- instrument - 在現有設備上運行單個 Android 工具測試。
- native-benchmark - 在現有設備上運行原生壓力測試。
- native-stress - 在現有設備上運行原生壓力測試。
- recharge - 等待設備的電量接近耗盡狀態,然后讓設備保持充電狀態的虛設測試。
- testdef - 在現有設備上運行包含在 test_def.xml 文件中的測試。
- util/wifi - 用于在設備上配置 Wi-Fi 的實用程序配置。
- util/wipe - 擦除設備上的用戶數據。
所有這些計劃和配置都可以使用?run cts?命令執行。
CTS v2 控制臺命令參考
表 1.?該表總結了用于各種用途的 CTS V2 控制臺命令。
| help | 顯示最常用命令的摘要 |
| help all | 顯示可用命令的完整列表 |
| version | 顯示版本。 |
| exit | 正常退出 CTS 控制臺。所有當前正在運行的測試完成后,控制臺將關閉。 |
| run cts | 在 Android Q 中,一起運行默認的 CTS 計劃和適用于免安裝應用的 CTS 計劃(即完整的 CTS 調用)。對于 Android 9 及更低版本,則僅運行默認的 CTS 計劃。此綜合性選項(包含前提條件)可用于進行設備驗證。有關要包含的內容,請參閱?cts.xml。 在測試過程中,CTS 控制臺可以接受其他命令。 如果沒有連接任何設備,CTS 臺式機(或主機)將等待連接設備后再開始測試。如果連接了多臺設備,則 CTS 主機將自動選擇一臺設備。 |
| run cts-instant | 在 Android 9 及更低版本中,運行默認的適用于免安裝應用的 CTS 計劃。 |
| run cts --module-parameter INSTANT_APP | 在 Android Q 中,運行默認的適用于免安裝應用的 CTS 計劃。 |
| run cts --module-parameter INSTANT_APP --module/-m | 在 Android Q 中,運行一個或多個指定的適用于免安裝應用的 CTS 測試模塊。 |
| run retry --retry | 僅適用于 Android 9 及更高版本。重新嘗試運行在以前的會話中失敗或未執行的所有測試。例如,run retry --retry -s?或?run retry --retry -- shard-count(包含 TF 分片)。Android 9 及更高版本不允許運行?run cts --retry。 |
| --device-token | 適用于 Android 8.1 及更低版本。指定具有給定令牌的給定設備,例如,--device-token 1a2b3c4d:sim-card。 |
| --enable-token-sharding | 僅適用于 Android Q。自動匹配需要相應類型的 SIM 卡的測試。無需提供設備序列號即可 SIM 卡相關測試用例。支持的 SIM 卡:SIM_CARD、UICC_SIM_CARD?和?SECURE_ELEMENT_SIM_CARD。 |
| run cts-dev | 運行默認的 CTS 計劃(即完整的 CTS 調用),但跳過前提條件以縮減運行時間,從而對新測試執行迭代開發。這會繞過對設備配置的驗證和設置(例如推送媒體文件或檢查 Wi-Fi 連接),就如同使用了?--skip-preconditions?選項。此命令還會跳過設備信息收集和所有系統狀態檢查工具。它還僅在單個 ABI 上運行測試。對于設備驗證,請忽略此優化操作并添加所有前提條件和檢查。有關要排除的內容,請參閱?cts-dev.xml。 在測試過程中,CTS 控制臺可以接受其他命令。 如果沒有連接任何設備,CTS 臺式機(或主機)將等待連接設備后再開始測試。如果連接了多臺設備,則 CTS 主機將自動選擇一臺設備。 |
| run retry | 對于 Android 9:重新嘗試運行在以前的會話中失敗或未執行的所有測試。例如,run retry --retry?-s?或?run retry --retry?--shard-count(包含 TF 分片)。 Android 9 不允許運行?run cts --retry。 |
| --plan <test_plan_name> | 運行指定的測試計劃。 |
| --module/-m <test_module_name> ?[--module/-m <test_module2>...] | 運行指定的測試模塊。例如,run cts --module CtsGestureTestCases?會執行手勢測試模塊(該命令可以簡化為?run cts -m Gesture)。 run cts -m Gesture --test android.gesture.cts.GestureTest#testGetStrokes會運行特定的包、類或測試。 |
| --subplan <subplan_name> | 運行指定的子計劃。 |
| -- module/-m <test_module_name> -- test <test_name>? | 運行指定的模塊和測試。例如,run cts -m Gesture --test android.gesture.cts.GestureTest#testGetStrokes?會運行特定的包、類或測試。 |
| --retry | 重新嘗試運行在以前的會話中失敗或未執行的所有測試。使用?list results?獲取會話 ID。 |
| --retry-type not_executed | 僅重新嘗試運行在以前的會話中未執行的測試。使用?list results?獲取會話 ID。 |
| --shards?<number_of_shards> | 對于 Android 8.1 及更低版本:將 CTS 運行分為指定數量的獨立塊,以便在多臺設備上并行運行。 |
| --shard-count?<number_of_shards> | 對于 Android 9:將 CTS 運行分為指定數量的獨立塊,以便在多臺設備上并行運行。 |
| --serial/-s <deviceID> | 在特定設備上運行 CTS。 |
| --include-filter <module_name> ?[--include-filter <module2>...] | 僅使用指定的模塊運行。 |
| --exclude-filter <module_name> ?[--exclude-filter <module2>...] | 運行時排除指定的模塊。 |
| --log-level-display/-l <log_level> | 以顯示給 STDOUT 的最小指定日志級別運行。有效值:[VERBOSE, DEBUG, INFO, WARN, ERROR, ASSERT]。 |
| --abi <abi_name> | 強制要求測試在給定的 ABI(32 或 64)上運行。默認情況下,CTS 會為設備支持的每個 ABI 運行一次測試。 |
| --logcat、--bugreport?和?--screenshoot-on-failure | 顯示更詳盡的故障信息并幫助進行診斷。 |
| --device-token | 指定具有給定令牌的給定設備,例如?--device-token 1a2b3c4d:sim-card。 |
| --skip-device-info | 跳過收集設備相關信息的步驟。注意:運行 CTS 以尋求批準時,請勿使用此選項。 |
| --skip-preconditions | 跳過前提條件以縮減運行時間,從而對新測試執行迭代開發。這會繞過對設備配置的驗證和設置(例如推送媒體文件或檢查 Wi-Fi 連接)。 |
| list modules | 列出存儲區中的所有可用測試模塊。 |
| list plans?或?list configs | 列出存儲區中的所有可用測試計劃(配置)。 |
| list subplans | 列出存儲區中的所有可用子計劃。 |
| list invocations | 列出設備上當前正在執行的“運行”命令。 |
| list commands | 列出當前在隊列中等待分配給設備的所有“運行”命令。 |
| list results | 列出當前存儲在存儲區中的 CTS 結果。 |
| list devices | 列出當前連接的設備及其狀態。 ? “可用”設備是可正常運行的空閑設備,可用于運行測試。 ? “不可用”設備是可通過 adb 查看但不響應 adb 命令的設備,不會分配用于測試。 ? “已分配”設備是當前正在運行測試的設備。 |
| dump logs | 為所有正在運行的調用轉儲 tradefed 日志。 |
| add subplan --name/-n <subplan_name> --result-type [pass?|?fail?|?timeout?|notExecuted] [--session/-s <session_id>] | 創建從上一會話衍生的子計劃;此選項會生成可用于運行測試子集的子計劃。 唯一的必選項是?--session。其他選項都是可選的,但如果選用這些選項,必須后跟一個值。--result-type?選項可重復使用;例如?add subplan --session 0 --result-type passed --result-type failed?是有效的。 |
使用 CTS v1 控制臺
對于 Android 6.0 或更早版本,您將使用 CTS v1。
選擇計劃
您可以選擇以下測試計劃:
- CTS - 測試兼容性所需的所有測試。
- Signature - 所有公開 API 的簽名驗證
- Android - 針對 Android API 的測試
- Java - 針對 Java 核心庫的測試
- VM - 針對 ART 或 Dalvik 的測試
- Performance - 針對實施的性能測試
您可以使用?run cts?命令執行這些測試。
CTS v1 控制臺命令參考
表 1.?該表總結了用于各種用途的 CTS v1 控制臺命令。
| help | 顯示最常用命令的摘要 |
| help all | 顯示可用命令的完整列表 |
| exit | 正常退出 CTS 控制臺。所有當前正在運行的測試完成后,控制臺將關閉 |
| run cts | 運行指定的測試并顯示進度信息。需要指定?--plan、--package、--class或?--continue-session?中的一個。 在測試過程中,CTS 控制臺可以接受其他命令 如果沒有連接任何設備,CTS 臺式機(或主機)將等待連接設備后再開始測試。 如果連接了多臺設備,則 CTS 主機將自動選擇一臺設備 |
| --plan <test_plan_name> | 運行指定的測試計劃 |
| --package/-p <test_package_name> ?[--package/-p <test_package2>...] | 運行指定的測試包 |
| --class/-c <class_name> [--method/-m <test_method_name> | 運行指定的測試類和/或方法 |
| --continue-session | 運行上一個 CTS 會話中所有未執行的測試;會話 testResult.xml 將會更新成最新結果 |
| --shards?<number_of_shards> | 將 CTS 運行分為指定數量的獨立塊,以便在多臺設備上并行運行 |
| --serial/-s <deviceID> | 在特定設備上運行 CTS |
| -t <class_name>#<test_method_name> | 運行特定測試方法 |
| --force-abi 32|64 | 在 64 位設備上,僅對 32 位或 64 位 ABI 運行測試 |
| --skip-preconditions | 跳過前提條件以縮減運行時間,從而對新測試執行迭代開發。這會繞過對設備配置的驗證和設置(例如推送媒體文件或檢查 Wi-Fi 連接)。 |
| list packages | 列出存儲區中的所有可用測試包 |
| list plans | 列出存儲區中的所有可用測試計劃 |
| list invocations | 列出設備上當前正在執行的“運行”命令 |
| list commands | 列出當前在隊列中等待分配給設備的所有“運行”命令 |
| list results | 列出當前存儲在存儲區中的 CTS 結果 |
| list devices | 列出當前連接的設備及其狀態 ? “可用”設備是指運行正常、可用來執行測試的空閑設備 ? “不可用”設備是指可通過 adb 看到但不響應 adb 命令的設備,不會分配用于測試 ? “已分配”設備是當前正在運行測試的設備 |
| add derivedplan --plan <plan_name> --result/-r [pass?|?fail?|?timeout?|?notExecuted] [--session/-s <session_id>] | 創建衍生自給定結果會話的計劃;使用此選項可重新運行報告并驗證測試問題 |
Was this page helpful?
總結
以上是生活随笔為你收集整理的运行 CTS 测试命令的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 韦根读卡电路c语言程序,RFID读卡模块
- 下一篇: 如何打开USB OTG功能: