BaseHostJUnit4Test
public
abstract
class
BaseHostJUnit4Test
extends Object
implements
IAbiReceiver,
ITestInformationReceiver
java.lang.Object
|
↳ |
com.android.tradefed.testtype.junit4.BaseHostJUnit4Test
|
用於執行主機 JUnit4 樣式測試的基本測試類別。這個類別提供主機端安裝、執行及清理檢測設備測試的支援。這個類別與多種裝置相容。應為單一可靠資料來源,以便從主機端執行檢測設備測試,避免重複的實用工具和基礎類別。
摘要
公用方法 |
final
void
|
autoTearDown()
自動拆解所有已安裝的 APK。
|
final
IAbi
|
getAbi()
|
final
IBuildInfo
|
getBuild()
|
final
ITestDevice
|
getDevice()
|
final
IInvocationContext
|
getInvocationContext()
|
final
TestRunResult
|
getLastDeviceRunResults()
傳回最新 runDeviceTests 執行作業的結果 TestRunResult 。
|
final
|
getListDevices()
|
TestInformation
|
getTestInformation()
|
boolean
|
hasDeviceFeature(String feature)
|
final
void
|
installPackage(DeviceTestRunOptions options)
在裝置上安裝以 DeviceTestRunOptions 為基礎的 APK。
|
final
void
|
installPackage(String apkFileName, String... options)
在裝置上安裝 APK。
|
final
void
|
installPackage(ITestDevice device, String apkFileName, String... options)
在特定裝置上安裝指定名稱的 APK。
|
final
void
|
installPackageAsUser(ITestDevice device, String apkFileName, boolean grantPermission, int userId, String... options)
在特定裝置上為特定使用者安裝指定名稱的 APK。
|
final
void
|
installPackageAsUser(String apkFileName, boolean grantPermission, int userId, String... options)
為特定使用者安裝 APK。
|
final
boolean
|
isPackageInstalled(String pkg)
檢查裝置上是否已安裝指定名稱的套件
|
final
boolean
|
isPackageInstalled(ITestDevice device, String pkg)
檢查裝置上是否已安裝指定名稱的套件
|
final
boolean
|
runDeviceTests(ITestDevice device, String pkgName, String testClassName, String testMethodName, Integer userId, Long testTimeoutMs)
執行已安裝的檢測套件的方法。
|
final
boolean
|
runDeviceTests(ITestDevice device, String pkgName, String testClassName, String testMethodName, Long testTimeoutMs, Long maxTimeToOutputMs, Long maxInstrumentationTimeoutMs)
執行已安裝的檢測套件的方法。
|
final
boolean
|
runDeviceTests(ITestDevice device, String runner, String pkgName, String testClassName, String testMethodName, Integer userId, Long testTimeoutMs, Long maxTimeToOutputMs, Long maxInstrumentationTimeoutMs, boolean checkResults, boolean isHiddenApiCheckDisabled, boolean isTestApiCheckDisabled, boolean isIsolatedStorageDisabled, boolean isWindowAnimationDisabled, instrumentationArgs, extraListeners)
執行已安裝的檢測套件的方法。
|
final
boolean
|
runDeviceTests(ITestDevice device, String pkgName, String testClassName, String testMethodName, Long testTimeoutMs)
執行已安裝的檢測套件的方法。
|
final
boolean
|
runDeviceTests(ITestDevice device, String runner, String pkgName, String testClassName, String testMethodName, Integer userId, Long testTimeoutMs, Long maxTimeToOutputMs, Long maxInstrumentationTimeoutMs, boolean checkResults, boolean isHiddenApiCheckDisabled, instrumentationArgs)
執行已安裝的檢測套件的方法。
|
final
boolean
|
runDeviceTests(String pkgName, String testClassName, String testMethodName)
執行已安裝的檢測套件的方法。
|
final
boolean
|
runDeviceTests(DeviceTestRunOptions options)
根據 DeviceTestRunOptions 中的資訊執行檢測作業。
|
final
boolean
|
runDeviceTests(ITestDevice device, String runner, String pkgName, String testClassName, String testMethodName, Integer userId, Long testTimeoutMs, Long maxTimeToOutputMs, Long maxInstrumentationTimeoutMs, boolean checkResults, boolean isHiddenApiCheckDisabled, boolean isTestApiCheckDisabled, boolean isIsolatedStorageDisabled, boolean isWindowAnimationDisabled, boolean isRestartDisabled, instrumentationArgs, extraListeners)
執行已安裝的檢測套件的方法。
|
final
boolean
|
runDeviceTests(ITestDevice device, String pkgName, String testClassName, String testMethodName)
執行已安裝的檢測套件的方法。
|
final
boolean
|
runDeviceTests(String pkgName, String testClassName, Integer userId, Long testTimeoutMs)
執行已安裝的檢測套件的方法。
|
final
boolean
|
runDeviceTests(String pkgName, String testClassName)
執行已安裝的檢測套件的方法。
|
final
boolean
|
runDeviceTests(ITestDevice device, String runner, String pkgName, String testClassName, String testMethodName, Integer userId, Long testTimeoutMs, Long maxTimeToOutputMs, Long maxInstrumentationTimeoutMs, boolean checkResults, boolean isHiddenApiCheckDisabled, boolean isTestApiCheckDisabled, boolean isIsolatedStorageDisabled, instrumentationArgs, extraListeners)
執行已安裝的檢測套件的方法。
|
final
boolean
|
runDeviceTests(String pkgName, String testClassName, Long testTimeoutMs)
執行已安裝的檢測套件的方法。
|
final
boolean
|
runDeviceTests(String runner, String pkgName, String testClassName, String testMethodName)
執行已安裝的檢測套件的方法。
|
final
void
|
setAbi(IAbi abi)
|
final
void
|
setTestInformation(TestInformation testInformation)
|
final
String
|
uninstallPackage(String pkgName)
解除安裝裝置上的套件。
|
final
String
|
uninstallPackage(ITestDevice device, String pkgName)
解除安裝裝置上的套件
|
公用建構函式
BaseHostJUnit4Test
public BaseHostJUnit4Test ()
公用方法
autoTearDown
public final void autoTearDown ()
自動拆解所有已安裝的 APK。這會從安裝 APK 的裝置上解除安裝所有 APK。
getAbi
public final IAbi getAbi ()
getLastDeviceRunResults
public final TestRunResult getLastDeviceRunResults ()
傳回最新 runDeviceTests 執行作業的結果 TestRunResult
。或空值,如果沒有可用結果。
getListDevices
public final getListDevices ()
hasDeviceFeature
public boolean hasDeviceFeature (String feature)
installPackage
public final void installPackage (String apkFileName,
String... options)
在裝置上安裝 APK。APK 會自動清除。
參數 |
apkFileName |
String :APK 檔案名稱。 |
options |
String :提供給安裝指令的額外選項 |
installPackage
public final void installPackage (ITestDevice device,
String apkFileName,
String... options)
在特定裝置上安裝指定名稱的 APK。APK 會自動清除。
參數 |
device |
ITestDevice :用於安裝 APK 的 ITestDevice 。 |
apkFileName |
String :APK 檔案名稱。 |
options |
String :提供給安裝指令的額外選項 |
installPackageAsUser
public final void installPackageAsUser (ITestDevice device,
String apkFileName,
boolean grantPermission,
int userId,
String... options)
在特定裝置上為特定使用者安裝指定名稱的 APK。
參數 |
device |
ITestDevice :用於安裝 APK 的 ITestDevice 。 |
apkFileName |
String :APK 檔案名稱。 |
grantPermission |
boolean :安裝 APK 時是否要傳遞授權標記。 |
userId |
int :要安裝 APK 的使用者 ID。 |
options |
String :提供給安裝指令的額外選項 |
installPackageAsUser
public final void installPackageAsUser (String apkFileName,
boolean grantPermission,
int userId,
String... options)
為特定使用者安裝 APK。
參數 |
apkFileName |
String :APK 檔案名稱。 |
grantPermission |
boolean :安裝 APK 時是否要傳遞授權標記。 |
userId |
int :要安裝 APK 的使用者 ID。 |
options |
String :提供給安裝指令的額外選項 |
isPackageInstalled
public final boolean isPackageInstalled (String pkg)
檢查裝置上是否已安裝指定名稱的套件
傳回 |
boolean |
如果在裝置上找到套件,則為 true |
isPackageInstalled
public final boolean isPackageInstalled (ITestDevice device,
String pkg)
檢查裝置上是否已安裝指定名稱的套件
參數 |
device |
ITestDevice :應解除安裝套件的裝置。 |
pkg |
String :套件名稱 |
傳回 |
boolean |
如果在裝置上找到套件,則為 true |
runDeviceTests
public final boolean runDeviceTests (ITestDevice device,
String pkgName,
String testClassName,
String testMethodName,
Integer userId,
Long testTimeoutMs)
執行已安裝的檢測套件的方法。接著使用 getLastDeviceRunResults()
取得結果詳細資料。
參數 |
device |
ITestDevice :執行檢測的裝置。 |
pkgName |
String :要執行的套件名稱。 |
testClassName |
String :要執行的測試類別名稱。 |
testMethodName |
String :要執行的類別中測試方法的名稱。 |
userId |
Integer :要執行測試的使用者 ID。可為空值。 |
testTimeoutMs |
Long :要套用至每個測試案例的逾時時間 (以毫秒為單位)。 |
傳回 |
boolean |
如果成功且沒有失敗,則傳回 True。否則為 False。 |
runDeviceTests
public final boolean runDeviceTests (ITestDevice device,
String pkgName,
String testClassName,
String testMethodName,
Long testTimeoutMs,
Long maxTimeToOutputMs,
Long maxInstrumentationTimeoutMs)
執行已安裝的檢測套件的方法。接著使用 getLastDeviceRunResults()
取得結果詳細資料。
參數 |
device |
ITestDevice :執行檢測的裝置。 |
pkgName |
String :要執行的套件名稱。 |
testClassName |
String :要執行的測試類別名稱。 |
testMethodName |
String :要執行的類別中測試方法的名稱。 |
testTimeoutMs |
Long :要套用至每個測試案例的逾時時間 (以毫秒為單位)。 |
maxTimeToOutputMs |
Long :測試開始輸出內容的最大逾時時間。 |
maxInstrumentationTimeoutMs |
Long :完整檢測作業必須完成的逾時上限。 |
傳回 |
boolean |
如果成功且沒有失敗,則傳回 True。否則為 False。 |
runDeviceTests
public final boolean runDeviceTests (ITestDevice device,
String runner,
String pkgName,
String testClassName,
String testMethodName,
Integer userId,
Long testTimeoutMs,
Long maxTimeToOutputMs,
Long maxInstrumentationTimeoutMs,
boolean checkResults,
boolean isHiddenApiCheckDisabled,
boolean isTestApiCheckDisabled,
boolean isIsolatedStorageDisabled,
boolean isWindowAnimationDisabled,
instrumentationArgs,
extraListeners)
執行已安裝的檢測套件的方法。接著使用 getLastDeviceRunResults()
取得結果詳細資料。
參數 |
device |
ITestDevice :執行檢測的裝置。 |
runner |
String |
pkgName |
String :要執行的套件名稱。 |
testClassName |
String :要執行的測試類別名稱。 |
testMethodName |
String :要執行的類別中測試方法的名稱。 |
userId |
Integer :要執行測試的使用者 ID。可為空值。 |
testTimeoutMs |
Long :要套用至每個測試案例的逾時時間 (以毫秒為單位)。 |
maxTimeToOutputMs |
Long :測試開始輸出內容的最大逾時時間。 |
maxInstrumentationTimeoutMs |
Long :完整檢測作業必須完成的逾時上限。 |
checkResults |
boolean :是否檢查結果是否發生異常終止。 |
isHiddenApiCheckDisabled |
boolean :是否應停用隱藏的 API 檢查。 |
isTestApiCheckDisabled |
boolean :是否應停用測試 API 檢查。 |
isIsolatedStorageDisabled |
boolean :是否應停用 Isolated Storage。 |
isWindowAnimationDisabled |
boolean :是否應停用視窗動畫。 |
instrumentationArgs |
:要傳遞至檢測工具的引數。 |
extraListeners |
|
傳回 |
boolean |
如果成功且沒有失敗,則傳回 True。否則為 False。 |
runDeviceTests
public final boolean runDeviceTests (ITestDevice device,
String pkgName,
String testClassName,
String testMethodName,
Long testTimeoutMs)
執行已安裝的檢測套件的方法。接著使用 getLastDeviceRunResults()
取得結果詳細資料。
參數 |
device |
ITestDevice :執行檢測的裝置。 |
pkgName |
String :要執行的套件名稱。 |
testClassName |
String :要執行的測試類別名稱。 |
testMethodName |
String :要執行的類別中測試方法的名稱。 |
testTimeoutMs |
Long :要套用至每個測試案例的逾時時間 (以毫秒為單位)。 |
傳回 |
boolean |
如果成功且沒有失敗,則傳回 True。否則為 False。 |
runDeviceTests
public final boolean runDeviceTests (ITestDevice device,
String runner,
String pkgName,
String testClassName,
String testMethodName,
Integer userId,
Long testTimeoutMs,
Long maxTimeToOutputMs,
Long maxInstrumentationTimeoutMs,
boolean checkResults,
boolean isHiddenApiCheckDisabled,
instrumentationArgs)
執行已安裝的檢測套件的方法。接著使用 getLastDeviceRunResults()
取得結果詳細資料。
參數 |
device |
ITestDevice :執行檢測的裝置。 |
runner |
String |
pkgName |
String :要執行的套件名稱。 |
testClassName |
String :要執行的測試類別名稱。 |
testMethodName |
String :要執行的類別中測試方法的名稱。 |
userId |
Integer :要執行測試的使用者 ID。可為空值。 |
testTimeoutMs |
Long :要套用至每個測試案例的逾時時間 (以毫秒為單位)。 |
maxTimeToOutputMs |
Long :測試開始輸出內容的最大逾時時間。 |
maxInstrumentationTimeoutMs |
Long :完整檢測作業必須完成的逾時上限。 |
checkResults |
boolean :是否檢查結果是否發生異常終止。 |
isHiddenApiCheckDisabled |
boolean :是否應停用隱藏的 API 檢查。 |
instrumentationArgs |
:要傳遞至檢測工具的引數。 |
傳回 |
boolean |
如果成功且沒有失敗,則傳回 True。否則為 False。 |
runDeviceTests
public final boolean runDeviceTests (String pkgName,
String testClassName,
String testMethodName)
執行已安裝的檢測套件的方法。接著使用 getLastDeviceRunResults()
取得結果詳細資料。
參數 |
pkgName |
String :要執行的套件名稱。 |
testClassName |
String :要執行的測試類別名稱。 |
testMethodName |
String :要執行的類別中測試方法的名稱。 |
傳回 |
boolean |
如果成功且沒有失敗,則傳回 True。否則為 False。 |
runDeviceTests
public final boolean runDeviceTests (ITestDevice device,
String runner,
String pkgName,
String testClassName,
String testMethodName,
Integer userId,
Long testTimeoutMs,
Long maxTimeToOutputMs,
Long maxInstrumentationTimeoutMs,
boolean checkResults,
boolean isHiddenApiCheckDisabled,
boolean isTestApiCheckDisabled,
boolean isIsolatedStorageDisabled,
boolean isWindowAnimationDisabled,
boolean isRestartDisabled,
instrumentationArgs,
extraListeners)
執行已安裝的檢測套件的方法。接著使用 getLastDeviceRunResults()
取得結果詳細資料。
參數 |
device |
ITestDevice :執行檢測的裝置。 |
runner |
String |
pkgName |
String :要執行的套件名稱。 |
testClassName |
String :要執行的測試類別名稱。 |
testMethodName |
String :要執行的類別中測試方法的名稱。 |
userId |
Integer :要執行測試的使用者 ID。可為空值。 |
testTimeoutMs |
Long :要套用至每個測試案例的逾時時間 (以毫秒為單位)。 |
maxTimeToOutputMs |
Long :測試開始輸出內容的最大逾時時間。 |
maxInstrumentationTimeoutMs |
Long :完整檢測作業必須完成的逾時上限。 |
checkResults |
boolean :是否檢查結果是否發生異常終止。 |
isHiddenApiCheckDisabled |
boolean :是否應停用隱藏的 API 檢查。 |
isTestApiCheckDisabled |
boolean :是否應停用測試 API 檢查。 |
isIsolatedStorageDisabled |
boolean :是否應停用 Isolated Storage。 |
isWindowAnimationDisabled |
boolean :是否應停用視窗動畫。 |
isRestartDisabled |
boolean |
instrumentationArgs |
:要傳遞至檢測工具的引數。 |
extraListeners |
|
傳回 |
boolean |
如果成功且沒有失敗,則傳回 True。否則為 False。 |
runDeviceTests
public final boolean runDeviceTests (ITestDevice device,
String pkgName,
String testClassName,
String testMethodName)
執行已安裝的檢測套件的方法。接著使用 getLastDeviceRunResults()
取得結果詳細資料。
參數 |
device |
ITestDevice :執行檢測的裝置。 |
pkgName |
String :要執行的套件名稱。 |
testClassName |
String :要執行的測試類別名稱。 |
testMethodName |
String :要執行的類別中測試方法的名稱。 |
傳回 |
boolean |
如果成功且沒有失敗,則傳回 True。否則為 False。 |
runDeviceTests
public final boolean runDeviceTests (String pkgName,
String testClassName,
Integer userId,
Long testTimeoutMs)
執行已安裝的檢測套件的方法。接著使用 getLastDeviceRunResults()
取得結果詳細資料。
參數 |
pkgName |
String :要執行的套件名稱。 |
testClassName |
String :要執行的測試類別名稱。 |
userId |
Integer :要執行測試的使用者 ID。可為空值。 |
testTimeoutMs |
Long :要套用至每個測試案例的逾時時間 (以毫秒為單位)。 |
傳回 |
boolean |
如果成功且沒有失敗,則傳回 True。否則為 False。 |
runDeviceTests
public final boolean runDeviceTests (String pkgName,
String testClassName)
執行已安裝的檢測套件的方法。接著使用 getLastDeviceRunResults()
取得結果詳細資料。
參數 |
pkgName |
String :要執行的套件名稱。 |
testClassName |
String :要執行的測試類別名稱。 |
傳回 |
boolean |
如果成功且沒有失敗,則傳回 True。否則為 False。 |
runDeviceTests
public final boolean runDeviceTests (ITestDevice device,
String runner,
String pkgName,
String testClassName,
String testMethodName,
Integer userId,
Long testTimeoutMs,
Long maxTimeToOutputMs,
Long maxInstrumentationTimeoutMs,
boolean checkResults,
boolean isHiddenApiCheckDisabled,
boolean isTestApiCheckDisabled,
boolean isIsolatedStorageDisabled,
instrumentationArgs,
extraListeners)
執行已安裝的檢測套件的方法。接著使用 getLastDeviceRunResults()
取得結果詳細資料。
參數 |
device |
ITestDevice :執行檢測的裝置。 |
runner |
String |
pkgName |
String :要執行的套件名稱。 |
testClassName |
String :要執行的測試類別名稱。 |
testMethodName |
String :要執行的類別中測試方法的名稱。 |
userId |
Integer :要執行測試的使用者 ID。可為空值。 |
testTimeoutMs |
Long :要套用至每個測試案例的逾時時間 (以毫秒為單位)。 |
maxTimeToOutputMs |
Long :測試開始輸出內容的最大逾時時間。 |
maxInstrumentationTimeoutMs |
Long :完整檢測作業必須完成的逾時上限。 |
checkResults |
boolean :是否檢查結果是否發生異常終止。 |
isHiddenApiCheckDisabled |
boolean :是否應停用隱藏的 API 檢查。 |
isTestApiCheckDisabled |
boolean :是否應停用測試 API 檢查。 |
isIsolatedStorageDisabled |
boolean :是否應停用 Isolated Storage。 |
instrumentationArgs |
:要傳遞至檢測工具的引數。 |
extraListeners |
|
傳回 |
boolean |
如果成功且沒有失敗,則傳回 True。否則為 False。 |
runDeviceTests
public final boolean runDeviceTests (String pkgName,
String testClassName,
Long testTimeoutMs)
執行已安裝的檢測套件的方法。接著使用 getLastDeviceRunResults()
取得結果詳細資料。
參數 |
pkgName |
String :要執行的套件名稱。 |
testClassName |
String :要執行的測試類別名稱。 |
testTimeoutMs |
Long :要套用至每個測試案例的逾時時間 (以毫秒為單位)。 |
傳回 |
boolean |
如果成功且沒有失敗,則傳回 True。否則為 False。 |
runDeviceTests
public final boolean runDeviceTests (String runner,
String pkgName,
String testClassName,
String testMethodName)
執行已安裝的檢測套件的方法。接著使用 getLastDeviceRunResults()
取得結果詳細資料。
參數 |
runner |
String :要使用的檢測執行程式。 |
pkgName |
String :要執行的套件名稱。 |
testClassName |
String :要執行的測試類別名稱。 |
testMethodName |
String :要執行的類別中測試方法的名稱。 |
傳回 |
boolean |
如果成功且沒有失敗,則傳回 True。否則為 False。 |
setAbi
public final void setAbi (IAbi abi)
public final void setTestInformation (TestInformation testInformation)
參數 |
testInformation |
TestInformation |
uninstallPackage
public final String uninstallPackage (String pkgName)
解除安裝裝置上的套件。
參數 |
pkgName |
String :要解除安裝的 Android 套件 |
傳回 |
String |
String (含有錯誤代碼),或 null (成功時) |
uninstallPackage
public final String uninstallPackage (ITestDevice device,
String pkgName)
解除安裝裝置上的套件
參數 |
device |
ITestDevice :應解除安裝套件的裝置。 |
pkgName |
String :要解除安裝的 Android 套件 |
傳回 |
String |
String (含有錯誤代碼),或 null (成功時) |