BaseHostJUnit4Test

public abstract class BaseHostJUnit4Test
extends Object implements IAbiReceiver, ITestInformationReceiver

java.lang.Object
   ↳ com.android.tradefed.testtype.junit4.BaseHostJUnit4Test


執行主機 JUnit4 樣式測試的基礎測試類別。這個類別提供安裝、執行支援 以及清除主機端的檢測設備測試這個類別與多裝置相容。 為了順利從主機端執行檢測設備測試,此資料來源應為單一可靠資料來源 避免公用程式和基礎類別重複

摘要

公用建構函式

BaseHostJUnit4Test()

公用方法

final void autoTearDown()

自動拆卸所有已安裝的 APK。

final IAbi getAbi()
final IBuildInfo getBuild()
final ITestDevice getDevice()
final IInvocationContext getInvocationContext()
final TestRunResult getLastDeviceRunResults()

傳回從執行的最新 runDeviceTest 產生的 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 名稱的 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(String pkgName, String testClassName, 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, boolean isTestApiCheckDisabled, boolean isIsolatedStorageDisabled, instrumentationArgs, extraListeners)

執行已安裝檢測套件的方法。

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 ()

公用方法

自動 TearDown

public final void autoTearDown ()

自動拆卸所有已安裝的 APK。這項操作會解除安裝 安裝的裝置

擲回
DeviceNotAvailableException

getAbi

public final IAbi getAbi ()

傳回
IAbi

getBuild

public final IBuildInfo getBuild ()

傳回
IBuildInfo

getDevice

public final ITestDevice getDevice ()

傳回
ITestDevice

getInvocationContext

public final IInvocationContext getInvocationContext ()

傳回
IInvocationContext

getLastDeviceRunResults

public final TestRunResult getLastDeviceRunResults ()

傳回從執行的最新 runDeviceTest 產生的 TestRunResult。或空值 如果沒有任何結果。

傳回
TestRunResult

getListDevice

public final  getListDevices ()

傳回

getTestInformation

public TestInformation getTestInformation ()

傳回
TestInformation

hasDeviceFeature

public boolean hasDeviceFeature (String feature)

參數
feature String

傳回
boolean

擲回
DeviceNotAvailableException

安裝套件

public final void installPackage (DeviceTestRunOptions options)

根據裝置上的 DeviceTestRunOptions 安裝 APK。依附元件 就會自動清理。

參數
options DeviceTestRunOptions:套件安裝的選項。

擲回
DeviceNotAvailableException
TargetSetupError

安裝套件

public final void installPackage (String apkFileName, 
                String... options)

在裝置上安裝已有名稱的 APK。APK 會自動清理。

參數
apkFileName String:apk 檔案的名稱。

options String:安裝指令的額外選項

擲回
DeviceNotAvailableException
TargetSetupError

安裝套件

public final void installPackage (ITestDevice device, 
                String apkFileName, 
                String... options)

在特定裝置中安裝具有該 APK 名稱的 APK。APK 會自動清理。

參數
device ITestDevice:要安裝 APK 的 ITestDevice

apkFileName String:apk 檔案的名稱。

options String:安裝指令的額外選項

擲回
DeviceNotAvailableException
TargetSetupError

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:安裝指令的額外選項

擲回
DeviceNotAvailableException
TargetSetupError

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:安裝指令的額外選項

擲回
DeviceNotAvailableException
TargetSetupError

已安裝 isPackage

public final boolean isPackageInstalled (String pkg)

檢查裝置是否已安裝指定名稱的套件

參數
pkg String:套件名稱

傳回
boolean 如果裝置上有套件,則為 true

擲回
DeviceNotAvailableException

已安裝 isPackage

public final boolean isPackageInstalled (ITestDevice device, 
                String pkg)

檢查裝置是否已安裝指定名稱的套件

參數
device ITestDevice:應解除安裝套件的裝置。

pkg String:套件名稱

傳回
boolean 如果裝置上有套件,則為 true

擲回
DeviceNotAvailableException

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 如果作業成功且沒有失敗,則為「是」。否則傳回「否」。

擲回
DeviceNotAvailableException

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 如果作業成功且沒有失敗,則為「是」。否則傳回「否」。

擲回
DeviceNotAvailableException

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:是否應停用獨立儲存空間。

isWindowAnimationDisabled boolean:是否應停用視窗動畫。

instrumentationArgs :要傳遞至檢測的引數。

extraListeners

傳回
boolean 如果作業成功且沒有失敗,則為「是」。否則傳回「否」。

擲回
DeviceNotAvailableException

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 如果作業成功且沒有失敗,則為「是」。否則傳回「否」。

擲回
DeviceNotAvailableException

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 如果作業成功且沒有失敗,則為「是」。否則傳回「否」。

擲回
DeviceNotAvailableException

runDeviceTests

public final boolean runDeviceTests (String pkgName, 
                String testClassName, 
                String testMethodName)

執行已安裝檢測套件的方法。使用「getLastDeviceRunResults()」 馬上取得詳細結果

參數
pkgName String:要執行的套件名稱。

testClassName String:要執行的測試類別名稱。

testMethodName String:類別中要執行的測試方法名稱。

傳回
boolean 如果作業成功且沒有失敗,則為「是」。否則傳回「否」。

擲回
DeviceNotAvailableException

runDeviceTests

public final boolean runDeviceTests (DeviceTestRunOptions options)

根據 DeviceTestRunOptions 中的資訊執行檢測基礎。

參數
options DeviceTestRunOptions:驅動檢測設定的 DeviceTestRunOptions

傳回
boolean 如果作業成功且沒有失敗,則為「是」。否則傳回「否」。

擲回
com.android.tradefed.device.DeviceNotAvailableException
DeviceNotAvailableException

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:是否應停用獨立儲存空間。

isWindowAnimationDisabled boolean:是否應停用視窗動畫。

isRestartDisabled boolean

instrumentationArgs :要傳遞至檢測的引數。

extraListeners

傳回
boolean 如果作業成功且沒有失敗,則為「是」。否則傳回「否」。

擲回
DeviceNotAvailableException

runDeviceTests

public final boolean runDeviceTests (ITestDevice device, 
                String pkgName, 
                String testClassName, 
                String testMethodName)

執行已安裝檢測套件的方法。使用「getLastDeviceRunResults()」 馬上取得詳細結果

參數
device ITestDevice:要執行檢測的裝置。

pkgName String:要執行的套件名稱。

testClassName String:要執行的測試類別名稱。

testMethodName String:類別中要執行的測試方法名稱。

傳回
boolean 如果作業成功且沒有失敗,則為「是」。否則傳回「否」。

擲回
DeviceNotAvailableException

runDeviceTests

public final boolean runDeviceTests (String pkgName, 
                String testClassName, 
                Integer userId, 
                Long testTimeoutMs)

執行已安裝檢測套件的方法。使用「getLastDeviceRunResults()」 馬上取得詳細結果

參數
pkgName String:要執行的套件名稱。

testClassName String:要執行的測試類別名稱。

userId Integer:執行測試的使用者 ID。可以是空值。

testTimeoutMs Long:要套用至每個測試案例的逾時時間 (以毫秒為單位)。

傳回
boolean 如果作業成功且沒有失敗,則為「是」。否則傳回「否」。

擲回
DeviceNotAvailableException

runDeviceTests

public final boolean runDeviceTests (String pkgName, 
                String testClassName)

執行已安裝檢測套件的方法。使用「getLastDeviceRunResults()」 馬上取得詳細結果

參數
pkgName String:要執行的套件名稱。

testClassName String:要執行的測試類別名稱。

傳回
boolean 如果作業成功且沒有失敗,則為「是」。否則傳回「否」。

擲回
DeviceNotAvailableException

runDeviceTests

public final boolean runDeviceTests (String pkgName, 
                String testClassName, 
                Long testTimeoutMs)

執行已安裝檢測套件的方法。使用「getLastDeviceRunResults()」 馬上取得詳細結果

參數
pkgName String:要執行的套件名稱。

testClassName String:要執行的測試類別名稱。

testTimeoutMs Long:要套用至每個測試案例的逾時時間 (以毫秒為單位)。

傳回
boolean 如果作業成功且沒有失敗,則為「是」。否則傳回「否」。

擲回
DeviceNotAvailableException

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:是否應停用獨立儲存空間。

instrumentationArgs :要傳遞至檢測的引數。

extraListeners

傳回
boolean 如果作業成功且沒有失敗,則為「是」。否則傳回「否」。

擲回
DeviceNotAvailableException

runDeviceTests

public final boolean runDeviceTests (String runner, 
                String pkgName, 
                String testClassName, 
                String testMethodName)

執行已安裝檢測套件的方法。使用「getLastDeviceRunResults()」 馬上取得詳細結果

參數
runner String:要使用的檢測執行器。

pkgName String:要執行的套件名稱。

testClassName String:要執行的測試類別名稱。

testMethodName String:類別中要執行的測試方法名稱。

傳回
boolean 如果作業成功且沒有失敗,則為「是」。否則傳回「否」。

擲回
DeviceNotAvailableException

SetAbi

public final void setAbi (IAbi abi)

參數
abi IAbi

setTestInformation

public final void setTestInformation (TestInformation testInformation)

參數
testInformation TestInformation

解除安裝套件

public final String uninstallPackage (String pkgName)

在裝置上解除安裝套件。

參數
pkgName String:要解除安裝的 Android 套件

傳回
String 含有錯誤代碼的 String;如果成功,則傳回 null

擲回
DeviceNotAvailableException

解除安裝套件

public final String uninstallPackage (ITestDevice device, 
                String pkgName)

在裝置上解除安裝套件

參數
device ITestDevice:應解除安裝套件的裝置。

pkgName String:要解除安裝的 Android 套件

傳回
String 含有錯誤代碼的 String;如果成功,則傳回 null

擲回
DeviceNotAvailableException