RemoteAndroidTestRunner

public class RemoteAndroidTestRunner
extends Object implements IRemoteAndroidTestRunner

java.lang.Object
   ↳ com.android.ddmlib.testrunner.RemoteAndroidTestRunner


Führt einen Android-Testbefehl remote aus und meldet die Ergebnisse.

Zusammenfassung

Öffentliche Konstruktoren

RemoteAndroidTestRunner(String packageName, IShellEnabledDevice remoteDevice)

Alternativer Konstruktor.

RemoteAndroidTestRunner(String packageName, String runnerName, IShellEnabledDevice remoteDevice)

Alternativer Konstruktor.

RemoteAndroidTestRunner(String packageName, String runnerName, IShellEnabledDevice remoteDevice, RemoteAndroidTestRunner.StatusReporterMode statusReporterMode)

Erstellt einen Remote-Android-Testrunner.

Öffentliche Methoden

void addBooleanArg(String name, boolean value)

Fügt dem Instrumentierungsbefehl ein boolesches Argument hinzu.

void addInstrumentationArg(String name, String value)

Fügt dem Instrumentierungsbefehl ein Argument hinzu.

void cancel()

Fordert die Stornierung dieses Testlaufs an.

IInstrumentationResultParser createParser(String runName, listeners)

Erstellen Sie den InstrumentationResultParser, der zum Parsen der Instrumentierungsausgabe verwendet wird.

String getAmInstrumentCommand()
IRemoteAndroidTestRunner.CoverageOutput getCoverageOutputType()

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

String getPackageName()

Gibt den Paketnamen der Anwendung zurück.

String getRunOptions()

Gibt Optionen für den Befehl „am instrument“ zurück.

String getRunnerName()

Gibt den runnerName zurück.

void removeInstrumentationArg(String name)

Entfernt ein zuvor hinzugefügtes Argument.

void run(ITestRunListener... listeners)

Führen Sie diesen Testlauf aus.

void run( listeners)

Führen Sie diesen Testlauf aus.

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.

void setClassName(String className)

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

void setClassNames(String[] classNames)

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

void setCoverage(boolean coverage)

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

void setCoverageReportLocation(String reportPath)

Legt den Speicherort der generierten Abdeckungsberichte fest.

void setDebug(boolean debug)

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

void setLogOnly(boolean logOnly)

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

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.

void setMaxTimeout(long maxTimeout, TimeUnit maxTimeUnits)

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

void setMaxtimeToOutputResponse(int maxTimeToOutputResponse)
void setMethodName(String className, String testName)

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

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.

void setRunOptions(String options)

Legt Optionen für den Befehl „am instrument“ fest.

void setTestCollection(boolean collect)

Legt für diesen Testlauf den Testsammlungsmodus fest.

void setTestPackageName(String packageName)

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

void setTestSize(IRemoteAndroidTestRunner.TestSize size)

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

Geschützte Methoden

String getArgsCommand()

Gibt die vollständige Befehlszeilensyntax für die bereitgestellten Instrumentierungsargumente zurück.

String getRunnerPath()

Gibt den vollständigen Pfad der Instrumentation-Komponente zurück.

Öffentliche Konstruktoren

RemoteAndroidTestRunner

public RemoteAndroidTestRunner (String packageName, 
                IShellEnabledDevice remoteDevice)

Alternativer Konstruktor. Verwendet den Standard-Instrumentierungs-Runner.

Parameter
packageName String: Das Android-Anwendungspaket, das die auszuführenden Tests enthält

remoteDevice IShellEnabledDevice: das Android-Gerät, auf dem Tests ausgeführt werden sollen

RemoteAndroidTestRunner

public RemoteAndroidTestRunner (String packageName, 
                String runnerName, 
                IShellEnabledDevice remoteDevice)

Alternativer Konstruktor. Verwendet den Standardwert statusReporterMode.

Parameter
packageName String: Das Android-Anwendungspaket, das die auszuführenden Tests enthält

runnerName String: Der Instrumentation-Testrunner, der ausgeführt werden soll. Wenn „null“, wird der Standard-Runner verwendet.

remoteDevice IShellEnabledDevice: das Android-Gerät, auf dem Tests ausgeführt werden sollen

RemoteAndroidTestRunner

public RemoteAndroidTestRunner (String packageName, 
                String runnerName, 
                IShellEnabledDevice remoteDevice, 
                RemoteAndroidTestRunner.StatusReporterMode statusReporterMode)

Erstellt einen Remote-Android-Testrunner.

Parameter
packageName String: Das Android-Anwendungspaket, das die auszuführenden Tests enthält

runnerName String: Der Instrumentation-Testrunner, der ausgeführt werden soll. Wenn „null“, wird der Standard-Runner verwendet.

remoteDevice IShellEnabledDevice: das Android-Gerät, auf dem Tests ausgeführt werden sollen

statusReporterMode RemoteAndroidTestRunner.StatusReporterMode: Der Statusberichtsmodus, der für einen Gerätebefehl verwendet werden soll.

Öffentliche Methoden

addBooleanArg

public 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 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 void cancel ()

Fordert die Stornierung dieses Testlaufs an.

createParser

public IInstrumentationResultParser createParser (String runName, 
                 listeners)

Erstellen Sie den InstrumentationResultParser, der zum Parsen der Instrumentierungsausgabe verwendet wird.

Parameter
runName String: Der Name des zu verwendenden Laufs.

listeners : Die Listener, an die die Ergebnisse gemeldet werden sollen.

Returns
IInstrumentationResultParser Eine Instanz von InstrumentationResultParser.

getAmInstrumentCommand

public String getAmInstrumentCommand ()

Returns
String

getCoverageOutputType

public IRemoteAndroidTestRunner.CoverageOutput getCoverageOutputType ()

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

Returns
IRemoteAndroidTestRunner.CoverageOutput

getPackageName

public String getPackageName ()

Gibt den Paketnamen der Anwendung zurück.

Returns
String

getRunOptions

public String getRunOptions ()

Gibt Optionen für den Befehl „am instrument“ zurück.

Returns
String

getRunnerName

public String getRunnerName ()

Gibt den runnerName zurück.

Returns
String

removeInstrumentationArg

public 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 void run (ITestRunListener... listeners)

Führen Sie diesen Testlauf aus.

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

Parameter
listeners ITestRunListener: wartet auf Testergebnisse

Ausgabe
AdbCommandRejectedException
ShellCommandUnresponsiveException
TimeoutException

Homerun

public void run ( listeners)

Führen Sie diesen Testlauf aus.

Parameter
listeners : Sammlung von Listenern für Testergebnisse

Ausgabe
AdbCommandRejectedException
ShellCommandUnresponsiveException
TimeoutException

setAdditionalTestOutputLocation

public 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 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 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 void setCoverage (boolean coverage)

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

Parameter
coverage boolean

setCoverageReportLocation

public void setCoverageReportLocation (String reportPath)

Legt den Speicherort der generierten Abdeckungsberichte fest.

Parameter
reportPath String

setDebug

public 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 void setLogOnly (boolean logOnly)

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

Parameter
logOnly boolean

setMaxTimeToOutputResponse

public 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 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. Dies unterscheidet sich von der normalen 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 void setMaxtimeToOutputResponse (int maxTimeToOutputResponse)

Parameter
maxTimeToOutputResponse int

setMethodName

public 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 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.

setRunOptions

public void setRunOptions (String options)

Legt Optionen für den Befehl „am instrument“ fest. Eine vollständige Liste der Optionen finden Sie unter com/android/commands/am/Am.java.

Parameter
options String

setTestCollection

public void setTestCollection (boolean collect)

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
collect boolean

setTestPackageName

public 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 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.

Geschützte Methoden

getArgsCommand

protected String getArgsCommand ()

Gibt die vollständige Befehlszeilensyntax für die bereitgestellten Instrumentierungsargumente zurück. Gibt einen leeren String zurück, wenn keine Argumente angegeben wurden.

Returns
String

getRunnerPath

protected String getRunnerPath ()

Gibt den vollständigen Pfad der Instrumentation-Komponente zurück.

Returns
String