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