Android CTS 測試案例的階層: PlanName(Plans) -> Package -> TestCaseName(Test cases)
# Plans 的位置
$CTS_ROOT/repository/plans/xxx.xml
# Test name 的位置
$CTS_ROOT/repository/testcases/xxx.xml
# 顯示所有 plans
cts_host > ls --plan
# 顯示所有 Packages
cts_host > ls -p
# 顯示 Performance plan 的 Packages 與子 Packages。與 repository/plans/Performance.xml 對應
cts_host > ls --plan Performance
cts_host > ls -p android.performance
cts_host > ls -p android.performance2
# 執行全部 plans
cts_host > start --plan CTS
# 執行特定 plan, 例如 Java
cts_host > start --plan Java
# 執行特定 plan 中特定的 Package。Package 的資訊可以從 repository/plans/xxx.xml 中取得
cts_host > start --plan Performance -p android.performance4
# 執行特定 plan 中特定的 Package 中特定的 test case。
# -p android.app => 可以從 ls --plan Android 中取得
# -t android.app.cts.AlertDialogTest#testAlertDialog。
# 其中 andorid.app.cts 對應到 testcases 裡面 xxx.xml 裡的 TestSuite name
# 其中 AlertDialogTest 對應到 xxx.xml 裡的 TestCase name
# 其中 testAlertDialog 對應到 xxx.xml 裡的 Test name
cts_host > start --plan Android -p android.app -t android.app.cts.AlertDialogTest#testAlertDialog
# 透過 Instrumentation 方式執行。一樣可對應到 CTS 中 Packet / Test case 的名稱
$ adb shell pm list instrumentation
$ adb shell am instrument -w com.android.cts.app/android.test.InstrumentationCtsTestRunner
$ adb shell am instrument -e class android.app.cts.AlertDialogTest#testAlertDialog -w com.android.cts.app/android.test.InstrumentationCtsTestRunner
# 重跑 NonExecuted case
修改 repository/testResult.xml,將 failed 改成 nonexecuted 重跑 => 尚未驗證
沒有留言:
張貼留言