RemoteAndroidTestRunner
public
class
RemoteAndroidTestRunner
extends Object
implements
IRemoteAndroidTestRunner
| java.lang.Object | |
| ↳ | com.android.ddmlib.testrunner.RemoteAndroidTestRunner |
遠端執行 Android 測試指令並回報結果。
摘要
公用建構函式 | |
|---|---|
RemoteAndroidTestRunner(String packageName, IShellEnabledDevice remoteDevice)
替代建構函式。 |
|
RemoteAndroidTestRunner(String packageName, String runnerName, IShellEnabledDevice remoteDevice)
替代建構函式。 |
|
RemoteAndroidTestRunner(String packageName, String runnerName, IShellEnabledDevice remoteDevice, RemoteAndroidTestRunner.StatusReporterMode statusReporterMode)
建立遠端 Android 測試執行器。 |
|
公用方法 | |
|---|---|
void
|
addBooleanArg(String name, boolean value)
在檢測指令中新增布林值引數。 |
void
|
addInstrumentationArg(String name, String value)
新增要納入檢測指令的引數。 |
void
|
cancel()
要求取消這項測試執行作業。 |
IInstrumentationResultParser
|
createParser(String runName,
建立用於剖析插樁輸出內容的 |
String
|
getAmInstrumentCommand()
|
IRemoteAndroidTestRunner.CoverageOutput
|
getCoverageOutputType()
傳回執行器產生的測試涵蓋範圍類型。 |
String
|
getPackageName()
傳回應用程式套件名稱。 |
String
|
getRunOptions()
傳回 am 儀器指令的選項。 |
String
|
getRunnerName()
傳回 runnerName。 |
void
|
removeInstrumentationArg(String name)
移除先前新增的引數。 |
void
|
run(ITestRunListener... listeners)
執行這項測試。 |
void
|
run(
執行這項測試。 |
void
|
setAdditionalTestOutputLocation(String additionalTestDataPath)
設定要複製到主機的其他測試輸出內容位置,然後再解除安裝測試應用程式。 |
void
|
setClassName(String className)
設定為只執行這個類別中的測試。必須在「run」之前呼叫。 |
void
|
setClassNames(String[] classNames)
設定為只執行所提供類別中的測試。必須在「run」之前呼叫。 |
void
|
setCoverage(boolean coverage)
Sets this code coverage mode of this test run. |
void
|
setCoverageReportLocation(String reportPath)
設定產生的涵蓋範圍報表位置。 |
void
|
setDebug(boolean debug)
設定這項測試執行的偵錯模式。 |
void
|
setLogOnly(boolean logOnly)
將這項測試執行作業設為僅記錄模式,並略過測試執行作業。 |
void
|
setMaxTimeToOutputResponse(long maxTimeToOutputResponse, TimeUnit maxTimeUnits)
設定在裝置上執行測試的殼層指令輸出內容之間,允許的最長時間。 |
void
|
setMaxTimeout(long maxTimeout, TimeUnit maxTimeUnits)
設定完成插碼作業的時間上限。 |
void
|
setMaxtimeToOutputResponse(int maxTimeToOutputResponse)
|
void
|
setMethodName(String className, String testName)
設定為僅執行指定的測試方法。必須在「run」之前呼叫。 |
void
|
setRunName(String runName)
設定要向 如未指定,則會使用套件名稱 |
void
|
setRunOptions(String options)
設定 am 儀器指令的選項。 |
void
|
setTestCollection(boolean collect)
將這個測試執行作業設為測試收集模式。 |
void
|
setTestPackageName(String packageName)
設定為執行指定套件中的所有測試。必須在「run」之前呼叫。 |
void
|
setTestSize(IRemoteAndroidTestRunner.TestSize size)
設定為僅執行指定大小的測試。 |
受保護的方法 | |
|---|---|
String
|
getArgsCommand()
傳回所提供檢測引數的完整檢測指令列語法。 |
String
|
getRunnerPath()
傳回完整的插樁元件路徑。 |
公用建構函式
RemoteAndroidTestRunner
public RemoteAndroidTestRunner (String packageName,
IShellEnabledDevice remoteDevice)替代建構函式。使用預設的插樁測試執行器。
| 參數 | |
|---|---|
packageName |
String:包含要執行的測試的 Android 應用程式套件 |
remoteDevice |
IShellEnabledDevice:用於執行測試的 Android 裝置 |
RemoteAndroidTestRunner
public RemoteAndroidTestRunner (String packageName,
String runnerName,
IShellEnabledDevice remoteDevice)替代建構函式。使用預設的 statusReporterMode。
| 參數 | |
|---|---|
packageName |
String:包含要執行的測試的 Android 應用程式套件 |
runnerName |
String:要執行的檢測測試執行器。如果為空值,則會使用預設執行器 |
remoteDevice |
IShellEnabledDevice:用於執行測試的 Android 裝置 |
RemoteAndroidTestRunner
public RemoteAndroidTestRunner (String packageName,
String runnerName,
IShellEnabledDevice remoteDevice,
RemoteAndroidTestRunner.StatusReporterMode statusReporterMode)建立遠端 Android 測試執行器。
| 參數 | |
|---|---|
packageName |
String:包含要執行的測試的 Android 應用程式套件 |
runnerName |
String:要執行的檢測測試執行器。如果為空值,則會使用預設執行器 |
remoteDevice |
IShellEnabledDevice:用於執行測試的 Android 裝置 |
statusReporterMode |
RemoteAndroidTestRunner.StatusReporterMode:用於儀器指令的狀態回報器模式 |
公用方法
addBooleanArg
public void addBooleanArg (String name,
boolean value)在檢測指令中新增布林引數。
| 參數 | |
|---|---|
name |
String:插樁套件引數的名稱 |
value |
boolean:引數的值 |
addInstrumentationArg
public void addInstrumentationArg (String name,
String value)在檢測指令中加入引數。
必須在「run」之前呼叫。如果已提供具有指定名稱的引數,系統會覆寫其值。
| 參數 | |
|---|---|
name |
String:插樁套件引數的名稱 |
value |
String:引數的值 |
cancel
public void cancel ()
要求取消這次測試。
createParser
public IInstrumentationResultParser createParser (String runName,listeners)
建立用於剖析插樁輸出的 InstrumentationResultParser。
| 參數 | |
|---|---|
runName |
String:要使用的執行作業名稱。 |
listeners |
:要向哪些監聽器回報結果。 |
| 傳回 | |
|---|---|
IInstrumentationResultParser |
InstrumentationResultParser 的執行個體。 |
getAmInstrumentCommand
public String getAmInstrumentCommand ()
| 傳回 | |
|---|---|
String |
|
getCoverageOutputType
public IRemoteAndroidTestRunner.CoverageOutput getCoverageOutputType ()
傳回執行器產生的測試涵蓋範圍類型。詳情請參閱CoverageOutput。
| 傳回 | |
|---|---|
IRemoteAndroidTestRunner.CoverageOutput |
|
getPackageName
public String getPackageName ()
傳回應用程式套件名稱。
| 傳回 | |
|---|---|
String |
|
getRunOptions
public String getRunOptions ()
傳回 am 儀器指令的選項。
| 傳回 | |
|---|---|
String |
|
getRunnerName
public String getRunnerName ()
傳回 runnerName。
| 傳回 | |
|---|---|
String |
|
removeInstrumentationArg
public void removeInstrumentationArg (String name)
移除先前新增的引數。
| 參數 | |
|---|---|
name |
String:要移除的檢測套件引數名稱 |
得分
public void run (ITestRunListener... listeners)
執行這項測試。
ERROR(/#run(Collection)) 的便利方法。
| 參數 | |
|---|---|
listeners |
ITestRunListener:監聽測試結果 |
| 擲回 | |
|---|---|
AdbCommandRejectedException |
|
ShellCommandUnresponsiveException |
|
TimeoutException |
|
得分
public void run (listeners)
執行這項測試。
| 參數 | |
|---|---|
listeners |
:測試結果的監聽器集合 |
| 擲回 | |
|---|---|
AdbCommandRejectedException |
|
ShellCommandUnresponsiveException |
|
TimeoutException |
|
setAdditionalTestOutputLocation
public void setAdditionalTestOutputLocation (String additionalTestDataPath)
設定要複製到主機的其他測試輸出內容位置,然後再解除安裝測試應用程式。例如產生的基準報表。
| 參數 | |
|---|---|
additionalTestDataPath |
String |
setClassName
public void setClassName (String className)
設定為只執行這個類別中的測試。必須在「run」之前呼叫。
| 參數 | |
|---|---|
className |
String:完整類別名稱 (例如 x.y.z) |
setClassNames
public void setClassNames (String[] classNames)
設定為只執行所提供類別中的測試。必須在「run」之前呼叫。
如果提供多個類別,則需要支援多個類別引數語法的 InstrumentationTestRunner。
| 參數 | |
|---|---|
classNames |
String:完整類別名稱陣列 (例如 x.y.z) |
setCoverage
public void setCoverage (boolean coverage)
設定本次測試執行的程式碼涵蓋範圍模式。
| 參數 | |
|---|---|
coverage |
boolean |
setCoverageReportLocation
public void setCoverageReportLocation (String reportPath)
設定產生的涵蓋範圍報表位置。
| 參數 | |
|---|---|
reportPath |
String |
setDebug
public void setDebug (boolean debug)
設定這項測試執行的偵錯模式。如果為 true,Android 測試執行器會等待偵錯工具附加完成,再繼續執行測試。
| 參數 | |
|---|---|
debug |
boolean |
setLogOnly
public void setLogOnly (boolean logOnly)
將這項測試執行作業設為僅記錄模式,並略過測試執行作業。
| 參數 | |
|---|---|
logOnly |
boolean |
setMaxTimeToOutputResponse
public void setMaxTimeToOutputResponse (long maxTimeToOutputResponse,
TimeUnit maxTimeUnits)設定在裝置上執行測試的殼層指令輸出內容之間,允許的最長時間。
這樣一來,如果測試卡住且永遠無法完成,就能設定逾時時間。這與連線的正常逾時不同。
預設不會指定逾時時間。
| 參數 | |
|---|---|
maxTimeToOutputResponse |
long:指令在沒有任何回應的情況下,允許的最長時間。如果值為 0,方法會無限期等待指令輸出內容 (直到 receiver 取消執行),且絕不會擲回。 |
maxTimeUnits |
TimeUnit:非零 maxTimeToOutputResponse 和 maxTimeout
值的單位。 |
setMaxTimeout
public void setMaxTimeout (long maxTimeout,
TimeUnit maxTimeUnits)設定完成插碼作業的時間上限。
這樣一來,如果測試卡住且永遠無法完成,就能設定逾時時間。這與連線的正常逾時不同。
預設不會指定逾時時間。
| 參數 | |
|---|---|
maxTimeout |
long:指令在沒有任何回應的情況下,允許的最長時間。如果值為 0,方法會無限期等待指令輸出內容 (直到 receiver 取消執行),且絕不會擲回。 |
maxTimeUnits |
TimeUnit:非零 maxTimeToOutputResponse 和 maxTimeout
值的單位。 |
setMaxtimeToOutputResponse
public void setMaxtimeToOutputResponse (int maxTimeToOutputResponse)
| 參數 | |
|---|---|
maxTimeToOutputResponse |
int |
setMethodName
public void setMethodName (String className,
String testName)設定為僅執行指定的測試方法。必須在「run」之前呼叫。
| 參數 | |
|---|---|
className |
String:完整類別名稱 (例如 x.y.z) |
testName |
String:方法名稱 |
setRunName
public void setRunName (String runName)
設定要向 ITestRunListener 上的 run( 回報的自訂執行名稱
如未指定,則會使用套件名稱
setRunOptions
public void setRunOptions (String options)
設定 am 儀器指令的選項。如需完整選項清單,請參閱 com/android/commands/am/Am.java。
| 參數 | |
|---|---|
options |
String |
setTestCollection
public void setTestCollection (boolean collect)
將這項測試執行作業設為測試收集模式。若為 true,系統會略過測試執行作業,並設定成功收集測試所需的適當執行器引數。
| 參數 | |
|---|---|
collect |
boolean |
setTestPackageName
public void setTestPackageName (String packageName)
設定為執行指定套件中的所有測試。必須在「run」之前呼叫。
| 參數 | |
|---|---|
packageName |
String:完整套件名稱 (例如 x.y.z) |
setTestSize
public void setTestSize (IRemoteAndroidTestRunner.TestSize size)
設定為僅執行指定大小的測試。必須在「run」之前呼叫。
| 參數 | |
|---|---|
size |
IRemoteAndroidTestRunner.TestSize:要執行的 TestSize。 |
受保護的方法
getArgsCommand
protected String getArgsCommand ()
傳回所提供檢測引數的完整檢測指令列語法。如果未指定任何引數,則傳回空白字串。
| 傳回 | |
|---|---|
String |
|
getRunnerPath
protected String getRunnerPath ()
傳回完整的檢測元件路徑。
| 傳回 | |
|---|---|
String |
|