IRemoteAndroidTestRunner

public interface IRemoteAndroidTestRunner

com.android.ddmlib.testrunner.IRemoteAndroidTestRunner


這個介面可遠端執行 Android 測試指令,並向監聽器回報結果。

摘要

公用方法

abstract void addBooleanArg(String name, boolean value)

在檢測指令中新增布林值引數。

abstract void addInstrumentationArg(String name, String value)

新增要納入檢測指令的引數。

abstract void cancel()

要求取消這項測試執行作業。

abstract IRemoteAndroidTestRunner.CoverageOutput getCoverageOutputType()

傳回執行器產生的測試涵蓋範圍類型。

abstract String getPackageName()

傳回應用程式套件名稱。

abstract String getRunnerName()

傳回 runnerName。

abstract void removeInstrumentationArg(String name)

移除先前新增的引數。

abstract void run(ITestRunListener... listeners)

執行這項測試。

abstract void run( listeners)

執行這項測試。

abstract void setAdditionalTestOutputLocation(String additionalTestDataPath)

設定要複製到主機的其他測試輸出內容位置,然後再解除安裝測試應用程式。

abstract void setClassName(String className)

設定為只執行這個類別中的測試。必須在「run」之前呼叫。

abstract void setClassNames(String[] classNames)

設定為只執行所提供類別中的測試。必須在「run」之前呼叫。

abstract void setCoverage(boolean coverage)

Sets this code coverage mode of this test run.

abstract void setCoverageReportLocation(String reportPath)

設定產生的涵蓋範圍報表位置。

abstract void setDebug(boolean debug)

設定這項測試執行的偵錯模式。

abstract void setLogOnly(boolean logOnly)

將這項測試執行作業設為僅記錄模式,並略過測試執行作業。

abstract void setMaxTimeToOutputResponse(long maxTimeToOutputResponse, TimeUnit maxTimeUnits)

設定在裝置上執行測試的殼層指令輸出內容之間,允許的最長時間。

abstract void setMaxTimeout(long maxTimeout, TimeUnit maxTimeUnits)

設定完成插碼作業的時間上限。

abstract void setMaxtimeToOutputResponse(int maxTimeToOutputResponse)

這個方法已淘汰。 使用 ERROR(/#setMaxTimeToOutputResponse(long,java.util.concurrent.TimeUnit))

abstract void setMethodName(String className, String testName)

設定為僅執行指定的測試方法。必須在「run」之前呼叫。

abstract void setRunName(String runName)

設定要向 ITestRunListener 上的 run() 回報的自訂執行名稱

如未指定,則會使用套件名稱

abstract void setTestCollection(boolean collection)

將這個測試執行作業設為測試收集模式。

abstract void setTestPackageName(String packageName)

設定為執行指定套件中的所有測試。必須在「run」之前呼叫。

abstract void setTestSize(IRemoteAndroidTestRunner.TestSize size)

設定為僅執行指定大小的測試。

公用方法

addBooleanArg

public abstract void addBooleanArg (String name, 
                boolean value)

在檢測指令中新增布林引數。

參數
name String:插樁套件引數的名稱

value boolean:引數的值

addInstrumentationArg

public abstract void addInstrumentationArg (String name, 
                String value)

在檢測指令中加入引數。

必須在「run」之前呼叫。如果已提供具有指定名稱的引數,系統會覆寫其值。

參數
name String:插樁套件引數的名稱

value String:引數的值

cancel

public abstract void cancel ()

要求取消這次測試。

getCoverageOutputType

public abstract IRemoteAndroidTestRunner.CoverageOutput getCoverageOutputType ()

傳回執行器產生的測試涵蓋範圍類型。詳情請參閱CoverageOutput

傳回
IRemoteAndroidTestRunner.CoverageOutput

getPackageName

public abstract String getPackageName ()

傳回應用程式套件名稱。

傳回
String

getRunnerName

public abstract String getRunnerName ()

傳回 runnerName。

傳回
String

removeInstrumentationArg

public abstract void removeInstrumentationArg (String name)

移除先前新增的引數。

參數
name String:要移除的檢測套件引數名稱

得分

public abstract void run (ITestRunListener... listeners)

執行這項測試。

ERROR(/#run(Collection)) 的便利方法。

參數
listeners ITestRunListener:監聽測試結果

擲回
TimeoutException 以防連線逾時。
AdbCommandRejectedException 如果 adb 拒絕指令
ShellCommandUnresponsiveException 如果裝置在超過輸出結果的最長時間後,仍未輸出任何測試結果。
如果裝置連線中斷。

得分

public abstract void run ( listeners)

執行這項測試。

參數
listeners :測試結果的監聽器集合

擲回
TimeoutException 以防連線逾時。
AdbCommandRejectedException 如果 adb 拒絕指令
ShellCommandUnresponsiveException 如果裝置在超過輸出結果的最長時間後,仍未輸出任何測試結果。
如果裝置連線中斷。

setAdditionalTestOutputLocation

public abstract void setAdditionalTestOutputLocation (String additionalTestDataPath)

設定要複製到主機的其他測試輸出內容位置,然後再解除安裝測試應用程式。例如產生的基準報表。

參數
additionalTestDataPath String

setClassName

public abstract void setClassName (String className)

設定為只執行這個類別中的測試。必須在「run」之前呼叫。

參數
className String:完整類別名稱 (例如 x.y.z)

setClassNames

public abstract void setClassNames (String[] classNames)

設定為只執行所提供類別中的測試。必須在「run」之前呼叫。

如果提供多個類別,則需要支援多個類別引數語法的 InstrumentationTestRunner。

參數
classNames String:完整類別名稱陣列 (例如 x.y.z)

setCoverage

public abstract void setCoverage (boolean coverage)

設定本次測試執行的程式碼涵蓋範圍模式。

參數
coverage boolean

setCoverageReportLocation

public abstract void setCoverageReportLocation (String reportPath)

設定產生的涵蓋範圍報表位置。

參數
reportPath String

setDebug

public abstract void setDebug (boolean debug)

設定這項測試執行的偵錯模式。如果為 true,Android 測試執行器會等待偵錯工具附加完成,再繼續執行測試。

參數
debug boolean

setLogOnly

public abstract void setLogOnly (boolean logOnly)

將這項測試執行作業設為僅記錄模式,並略過測試執行作業。

參數
logOnly boolean

setMaxTimeToOutputResponse

public abstract void setMaxTimeToOutputResponse (long maxTimeToOutputResponse, 
                TimeUnit maxTimeUnits)

設定在裝置上執行測試的殼層指令輸出內容之間,允許的最長時間。

這樣一來,如果測試卡住且永遠無法完成,就能設定逾時時間。這與連線的正常逾時不同。

預設不會指定逾時時間。

參數
maxTimeToOutputResponse long:指令在沒有任何回應的情況下,允許的最長時間。如果值為 0,方法會無限期等待指令輸出內容 (直到 receiver 取消執行),且絕不會擲回。

maxTimeUnits TimeUnit:非零 maxTimeToOutputResponsemaxTimeout 值的單位。

setMaxTimeout

public abstract void setMaxTimeout (long maxTimeout, 
                TimeUnit maxTimeUnits)

設定完成插碼作業的時間上限。

這樣一來,如果測試卡住且永遠無法完成,就能設定逾時時間。這與連線的正常逾時不同。

預設不會指定逾時時間。

參數
maxTimeout long:指令在沒有任何回應的情況下,允許的最長時間。如果值為 0,方法會無限期等待指令輸出內容 (直到 receiver 取消執行),且絕不會擲回。

maxTimeUnits TimeUnit:非零 maxTimeToOutputResponsemaxTimeout 值的單位。

setMaxtimeToOutputResponse

public abstract void setMaxtimeToOutputResponse (int maxTimeToOutputResponse)

這個方法已淘汰。
使用 ERROR(/#setMaxTimeToOutputResponse(long,java.util.concurrent.TimeUnit))

參數
maxTimeToOutputResponse int

setMethodName

public abstract void setMethodName (String className, 
                String testName)

設定為僅執行指定的測試方法。必須在「run」之前呼叫。

參數
className String:完整類別名稱 (例如 x.y.z)

testName String:方法名稱

setRunName

public abstract void setRunName (String runName)

設定要向 ITestRunListener 上的 run() 回報的自訂執行名稱

如未指定,則會使用套件名稱

setTestCollection

public abstract void setTestCollection (boolean collection)

將這項測試執行作業設為測試收集模式。若為 true,系統會略過測試執行作業,並設定成功收集測試所需的適當執行器引數。

參數
collection boolean

setTestPackageName

public abstract void setTestPackageName (String packageName)

設定為執行指定套件中的所有測試。必須在「run」之前呼叫。

參數
packageName String:完整套件名稱 (例如 x.y.z)

setTestSize

public abstract void setTestSize (IRemoteAndroidTestRunner.TestSize size)

設定為僅執行指定大小的測試。必須在「run」之前呼叫。

參數
size IRemoteAndroidTestRunner.TestSize:要執行的 TestSize