IRemoteAndroidTestRunner

public interface IRemoteAndroidTestRunner

com.android.ddmlib.testrunner.IRemoteAndroidTestRunner


Schnittstelle zum Ausführen eines Android-Testbefehls per Remotezugriff und zum Melden des Ergebnisses an einen Listener.

Zusammenfassung

Öffentliche Methoden

abstract void addBooleanArg(String name, boolean value)

Fügt dem Instrumentierungsbefehl ein boolesches Argument hinzu.

abstract void addInstrumentationArg(String name, String value)

Fügt dem Instrumentierungsbefehl ein Argument hinzu.

abstract void cancel()

Fordert die Stornierung dieses Testlaufs an.

abstract IRemoteAndroidTestRunner.CoverageOutput getCoverageOutputType()

Gibt den Typ der Testabdeckung zurück, die vom Runner erzeugt wird.

abstract String getPackageName()

Gibt den Paketnamen der Anwendung zurück.

abstract String getRunnerName()

Gibt den runnerName zurück.

abstract void removeInstrumentationArg(String name)

Entfernt ein zuvor hinzugefügtes Argument.

abstract void run(ITestRunListener... listeners)

Führen Sie diesen Testlauf aus.

abstract void run( listeners)

Führen Sie diesen Testlauf aus.

abstract void setAdditionalTestOutputLocation(String additionalTestDataPath)

Legt den Speicherort der zusätzlichen Testausgabe fest, die auf den Host kopiert werden soll, bevor die Test-App deinstalliert wird.

abstract void setClassName(String className)

Legt fest, dass nur Tests in dieser Klasse ausgeführt werden. Muss vor „run“ aufgerufen werden.

abstract void setClassNames(String[] classNames)

Legt fest, dass nur Tests in den angegebenen Klassen ausgeführt werden sollen. Muss vor „run“ aufgerufen werden.

abstract void setCoverage(boolean coverage)

Legt den Code-Coverage-Modus für diesen Testlauf fest.

abstract void setCoverageReportLocation(String reportPath)

Legt den Speicherort der generierten Abdeckungsberichte fest.

abstract void setDebug(boolean debug)

Legt den Debug-Modus für diesen Testlauf fest.

abstract void setLogOnly(boolean logOnly)

Legt für diesen Testlauf den reinen Protokollierungsmodus fest. Die Testausführung wird übersprungen.

abstract void setMaxTimeToOutputResponse(long maxTimeToOutputResponse, TimeUnit maxTimeUnits)

Legt die maximal zulässige Zeit zwischen der Ausgabe des Shell-Befehls, mit dem die Tests auf den Geräten ausgeführt werden, fest.

abstract void setMaxTimeout(long maxTimeout, TimeUnit maxTimeUnits)

Legt die maximal zulässige Zeit für den Abschluss der Instrumentierung fest.

abstract void setMaxtimeToOutputResponse(int maxTimeToOutputResponse)

Diese Methode ist veraltet. Verwenden Sie ERROR(/#setMaxTimeToOutputResponse(long,java.util.concurrent.TimeUnit)).

abstract void setMethodName(String className, String testName)

Legt fest, dass nur die angegebene Testmethode ausgeführt wird. Muss vor „run“ aufgerufen werden.

abstract void setRunName(String runName)

Legen Sie einen benutzerdefinierten Namen für den Lauf fest, der am run() an ITestRunListener gemeldet werden soll.

Wenn nichts angegeben ist, wird der Paketname verwendet.

abstract void setTestCollection(boolean collection)

Legt für diesen Testlauf den Testsammlungsmodus fest.

abstract void setTestPackageName(String packageName)

Legt fest, dass alle Tests im angegebenen Paket ausgeführt werden. Muss vor „run“ aufgerufen werden.

abstract void setTestSize(IRemoteAndroidTestRunner.TestSize size)

Legt fest, dass nur Tests der angegebenen Größe ausgeführt werden.

Öffentliche Methoden

addBooleanArg

public abstract void addBooleanArg (String name, 
                boolean value)

Fügt dem Instrumentierungsbefehl ein boolesches Argument hinzu.

Parameter
name String: der Name des Arguments für das Instrumentierungs-Bundle

value boolean: der Wert des Arguments

addInstrumentationArg

public abstract void addInstrumentationArg (String name, 
                String value)

Fügt dem Instrumentierungsbefehl ein Argument hinzu.

Muss vor „run“ aufgerufen werden. Wenn ein Argument mit dem angegebenen Namen bereits bereitgestellt wurde, wird sein Wert überschrieben.

Parameter
name String: der Name des Arguments für das Instrumentierungs-Bundle

value String: der Wert des Arguments

Abbrechen

public abstract void cancel ()

Fordert die Stornierung dieses Testlaufs an.

getCoverageOutputType

public abstract IRemoteAndroidTestRunner.CoverageOutput getCoverageOutputType ()

Gibt den Typ der Testabdeckung zurück, die vom Runner erzeugt wird. CoverageOutput ansehen.

Returns
IRemoteAndroidTestRunner.CoverageOutput

getPackageName

public abstract String getPackageName ()

Gibt den Paketnamen der Anwendung zurück.

Returns
String

getRunnerName

public abstract String getRunnerName ()

Gibt den runnerName zurück.

Returns
String

removeInstrumentationArg

public abstract void removeInstrumentationArg (String name)

Entfernt ein zuvor hinzugefügtes Argument.

Parameter
name String: der Name des zu entfernenden Arguments für das Instrumentierungs-Bundle

Homerun

public abstract void run (ITestRunListener... listeners)

Führen Sie diesen Testlauf aus.

Convenience-Methode für ERROR(/#run(Collection)).

Parameter
listeners ITestRunListener: wartet auf Testergebnisse

Ausgabe
TimeoutException bei einer Zeitüberschreitung der Verbindung.
AdbCommandRejectedException Wenn der Befehl von ADB abgelehnt wird
ShellCommandUnresponsiveException wenn das Gerät über einen Zeitraum, der länger als die maximale Zeit für die Ausgabe ist, kein Testergebnis ausgegeben hat.
wenn die Verbindung zum Gerät unterbrochen wurde.

Weitere Informationen

Homerun

public abstract void run ( listeners)

Führen Sie diesen Testlauf aus.

Parameter
listeners : Sammlung von Listenern für Testergebnisse

Ausgabe
TimeoutException bei einer Zeitüberschreitung der Verbindung.
AdbCommandRejectedException Wenn der Befehl von ADB abgelehnt wird
ShellCommandUnresponsiveException wenn das Gerät über einen Zeitraum, der länger als die maximale Zeit für die Ausgabe ist, kein Testergebnis ausgegeben hat.
wenn die Verbindung zum Gerät unterbrochen wurde.

Weitere Informationen

setAdditionalTestOutputLocation

public abstract void setAdditionalTestOutputLocation (String additionalTestDataPath)

Legt den Speicherort der zusätzlichen Testausgabe fest, die auf den Host kopiert werden soll, bevor die Test-App deinstalliert wird. z.B. generierte Benchmarkberichte.

Parameter
additionalTestDataPath String

setClassName

public abstract void setClassName (String className)

Legt fest, dass nur Tests in dieser Klasse ausgeführt werden. Muss vor „run“ aufgerufen werden.

Parameter
className String: Vollständig qualifizierter Klassenname (z. B. x.y.z)

setClassNames

public abstract void setClassNames (String[] classNames)

Legt fest, dass nur Tests in den angegebenen Klassen ausgeführt werden sollen. Muss vor „run“ aufgerufen werden.

Wenn Sie mehr als eine Klasse angeben, ist ein InstrumentationTestRunner erforderlich, der die Syntax für mehrere Klassenargumente unterstützt.

Parameter
classNames String: Array mit vollständig qualifizierten Klassennamen (z. B. x.y.z)

setCoverage

public abstract void setCoverage (boolean coverage)

Legt den Code-Coverage-Modus für diesen Testlauf fest.

Parameter
coverage boolean

setCoverageReportLocation

public abstract void setCoverageReportLocation (String reportPath)

Legt den Speicherort der generierten Abdeckungsberichte fest.

Parameter
reportPath String

setDebug

public abstract void setDebug (boolean debug)

Legt den Debug-Modus für diesen Testlauf fest. Wenn „true“, wartet der Android-Test-Runner, bis ein Debugger angehängt wird, bevor er mit der Testausführung fortfährt.

Parameter
debug boolean

setLogOnly

public abstract void setLogOnly (boolean logOnly)

Legt für diesen Testlauf den reinen Protokollierungsmodus fest. Die Testausführung wird übersprungen.

Parameter
logOnly boolean

setMaxTimeToOutputResponse

public abstract void setMaxTimeToOutputResponse (long maxTimeToOutputResponse, 
                TimeUnit maxTimeUnits)

Legt die maximal zulässige Zeit zwischen der Ausgabe des Shell-Befehls, mit dem die Tests auf den Geräten ausgeführt werden, fest.

So kann ein Zeitlimit festgelegt werden, falls die Tests hängen bleiben und nie abgeschlossen werden. Dies unterscheidet sich von der normalen Zeitüberschreitung bei der Verbindung.

Standardmäßig wird kein Zeitlimit angegeben.

Parameter
maxTimeToOutputResponse long: Die maximale Zeit, in der der Befehl keine Ausgabe erzeugen darf. Ein Wert von 0 bedeutet, dass die Methode unbegrenzt auf die Befehlsausgabe wartet (bis receiver die Ausführung abbricht) und nie eine Ausnahme auslöst.

maxTimeUnits TimeUnit: Einheiten für maxTimeToOutputResponse- und maxTimeout-Werte ungleich null.

setMaxTimeout

public abstract void setMaxTimeout (long maxTimeout, 
                TimeUnit maxTimeUnits)

Legt die maximal zulässige Zeit für den Abschluss der Instrumentierung fest.

So kann ein Zeitlimit festgelegt werden, falls die Tests hängen bleiben und nie abgeschlossen werden. Das ist anders als die normale Zeitüberschreitung bei der Verbindung.

Standardmäßig wird kein Zeitlimit angegeben.

Parameter
maxTimeout long: Die maximale Zeit, in der der Befehl keine Antwort ausgeben darf. Ein Wert von 0 bedeutet, dass die Methode unbegrenzt auf die Befehlsausgabe wartet (bis receiver die Ausführung abbricht) und nie eine Ausnahme auslöst.

maxTimeUnits TimeUnit: Einheiten für maxTimeToOutputResponse- und maxTimeout-Werte ungleich null.

setMaxtimeToOutputResponse

public abstract void setMaxtimeToOutputResponse (int maxTimeToOutputResponse)

Diese Methode wurde eingestellt.
Verwenden Sie ERROR(/#setMaxTimeToOutputResponse(long,java.util.concurrent.TimeUnit)).

Parameter
maxTimeToOutputResponse int

setMethodName

public abstract void setMethodName (String className, 
                String testName)

Legt fest, dass nur die angegebene Testmethode ausgeführt wird. Muss vor „run“ aufgerufen werden.

Parameter
className String: Vollständig qualifizierter Klassenname (z. B. x.y.z)

testName String: Name der Methode

setRunName

public abstract void setRunName (String runName)

Legen Sie einen benutzerdefinierten Namen für den Lauf fest, der am run() an ITestRunListener gemeldet werden soll.

Wenn nichts angegeben ist, wird der Paketname verwendet.

setTestCollection

public abstract void setTestCollection (boolean collection)

Legt für diesen Testlauf den Testsammlungsmodus fest. Bei „true“ wird die Testausführung übersprungen und alle entsprechenden Runner-Argumente festgelegt, die für eine erfolgreiche Testsammlung erforderlich sind.

Parameter
collection boolean

setTestPackageName

public abstract void setTestPackageName (String packageName)

Legt fest, dass alle Tests im angegebenen Paket ausgeführt werden. Muss vor „run“ aufgerufen werden.

Parameter
packageName String: Vollständig qualifizierter Paketname (z. B. x.y.z)

setTestSize

public abstract void setTestSize (IRemoteAndroidTestRunner.TestSize size)

Legt fest, dass nur Tests der angegebenen Größe ausgeführt werden. Muss vor „run“ aufgerufen werden.

Parameter
size IRemoteAndroidTestRunner.TestSize: Die auszuführende TestSize.