UiAutomatorRunner

public class UiAutomatorRunner
extends Object implements IRemoteAndroidTestRunner

java.lang.Object
   ↳ com.android.tradefed.testtype.UiAutomatorRunner


Ejecuta la prueba de UI Automator en el dispositivo y genera un informe de los resultados. La prueba de UI Automator es un ejecutor de pruebas dedicado para ejecutar pruebas de automatización de IU que utiliza el framework de UI Automator. El ejecutor de pruebas en el dispositivo emula el formato de salida de las pruebas de instrumentación para que se pueda reutilizar el código de análisis existente en ddmlib y TF. Básicamente, se trata de un wrapper alrededor de este comando: adb shell uiautomator runtest (archivos .jar) -e class (clases de prueba) …

Resumen

Constructores públicos

UiAutomatorRunner(IDevice remoteDevice, String[] jarPaths, String runnerPath)

Crea un UiAutomatorRunner para ejecutar pruebas de automatización de la IU

Métodos públicos

void addBooleanArg(String name, boolean value)

Agrega un argumento booleano para incluir en el comando de instrumentación.

void addInstrumentationArg(String name, String value)

Agrega un argumento para incluir en el comando de instrumentación.

void cancel()

Solicita la cancelación de esta ejecución de prueba.

IRemoteAndroidTestRunner.CoverageOutput getCoverageOutputType()

Devuelve el tipo de cobertura de pruebas que produce el ejecutor.

String getPackageName()

Devuelve el nombre del paquete de la última clase de Java agregada.

String getRunnerName()

Devuelve el nombre de la clase UiAutomatorTestRunner predeterminada

void removeInstrumentationArg(String name)

Quita un argumento agregado anteriormente.

void run(ITestRunListener... listeners)

Ejecuta esta prueba.

void run( listeners)

Ejecuta esta prueba.

void setAdditionalTestOutputLocation(String additionalTestDataPath)

Establece la ubicación de la salida de prueba adicional que se copiará en el host antes de desinstalar la app de prueba.

void setClassName(String className)

Establece que solo se ejecuten las pruebas de esta clase. Se debe llamar antes de "run".

void setClassNames(String[] classNames)

Establece que solo se ejecuten las pruebas en las clases proporcionadas. Se debe llamar antes de "run".

void setCoverage(boolean coverage)

Establece el modo de cobertura de código de esta ejecución de prueba.

void setCoverageReportLocation(String arg0)

Establece la ubicación de los informes de cobertura generados.

void setDebug(boolean debug)

Establece el modo de depuración de esta ejecución de prueba.

void setIgnoreSighup(boolean value)

Establece la opción en uiautomator para ignorar SIGHUP.

void setLogOnly(boolean logOnly)

Establece esta ejecución de prueba en modo de solo registro, lo que omite la ejecución de la prueba.

void setMaxTimeToOutputResponse(long timeout, TimeUnit unit)

Establece el tiempo máximo permitido entre la salida del comando de shell que ejecuta las pruebas en los dispositivos.

void setMaxTimeout(long maxTimeout, TimeUnit unit)

Establece el tiempo máximo permitido para que finalice la instrumentación.

void setMaxtimeToOutputResponse(int maxTimeToOutputResponse)

Este método dejó de estar disponible. utiliza setMaxTimeToOutputResponse(long, TimeUnit) en su lugar.

void setMethodName(String className, String testName)

Establece que solo se ejecute el método de prueba especificado. Se debe llamar antes de "run".

void setRunName(String runName)

Establece un nombre de ejecución personalizado para que se informe a ITestRunListener en run()

Si no se especifica, se usará el nombre del paquete.

void setTestCollection(boolean b)

Establece esta ejecución de prueba en el modo de recopilación de pruebas.

void setTestPackageName(String packageName)

Establece que se ejecuten todas las pruebas en el paquete especificado. Se debe llamar antes de "run".

void setTestSize(IRemoteAndroidTestRunner.TestSize size)

Establece que solo se ejecuten pruebas del tamaño determinado.

Métodos protegidos

String getRunCommand()
String getRunnerPath()

Constructores públicos

UiAutomatorRunner

public UiAutomatorRunner (IDevice remoteDevice, 
                String[] jarPaths, 
                String runnerPath)

Crea un UiAutomatorRunner para ejecutar pruebas de automatización de la IU

Parámetros
remoteDevice IDevice: Es el dispositivo remoto con el que se interactúa: ejecutar pruebas, recopilar resultados, etcétera.

jarPaths String: Son las rutas de acceso a los archivos .jar en los que se encuentran los casos de prueba de UI Automator. Las rutas de acceso deben ser absolutas o relativas a /data/local/tmp/ en el dispositivo.

runnerPath String: Ejecutor de UiAutomator alternativo para usar. Puede ser null y se usará el valor predeterminado en este caso.

Métodos públicos

addBooleanArg

public void addBooleanArg (String name, 
                boolean value)

Agrega un argumento booleano para incluir en el comando de instrumentación.

Parámetros
name String: El nombre del argumento del paquete de la instrumentación

value boolean: Es el valor del argumento.

addInstrumentationArg

public void addInstrumentationArg (String name, 
                String value)

Agrega un argumento para incluir en el comando de instrumentación.

Se debe llamar antes de "run". Si ya se proporcionó un argumento con el nombre determinado, se anulará su valor.

Parámetros
name String: El nombre del argumento del paquete de la instrumentación

value String: Es el valor del argumento.

cancelar

public void cancel ()

Solicita la cancelación de esta ejecución de prueba.

getCoverageOutputType

public IRemoteAndroidTestRunner.CoverageOutput getCoverageOutputType ()

Devuelve el tipo de cobertura de pruebas que produce el ejecutor. Consulta los CoverageOutput.

Muestra
IRemoteAndroidTestRunner.CoverageOutput

getPackageName

public String getPackageName ()

Devuelve el nombre del paquete de la última clase de Java agregada.

Muestra
String

getRunnerName

public String getRunnerName ()

Devuelve el nombre de la clase UiAutomatorTestRunner predeterminada

Muestra
String

removeInstrumentationArg

public void removeInstrumentationArg (String name)

Quita un argumento agregado anteriormente.

Parámetros
name String: Es el nombre del argumento del paquete de instrumentación que se quitará.

run

public void run (ITestRunListener... listeners)

Ejecuta esta prueba.

Método de conveniencia para ERROR(/#run(Collection)).

Parámetros
listeners ITestRunListener: Escucha los resultados de las pruebas

Arroja
AdbCommandRejectedException
ShellCommandUnresponsiveException
TimeoutException

run

public void run ( listeners)

Ejecuta esta prueba.

Parámetros
listeners : Colección de objetos de escucha para los resultados de las pruebas

Arroja
AdbCommandRejectedException
ShellCommandUnresponsiveException
TimeoutException

setAdditionalTestOutputLocation

public void setAdditionalTestOutputLocation (String additionalTestDataPath)

Establece la ubicación de la salida de prueba adicional que se copiará en el host antes de desinstalar la app de prueba. p. ej., informes comparativos generados

Parámetros
additionalTestDataPath String

setClassName

public void setClassName (String className)

Establece que solo se ejecuten las pruebas de esta clase. Se debe llamar antes de "run".

Parámetros
className String: Nombre de clase completamente calificado (p. ej., x.y.z)

setClassNames

public void setClassNames (String[] classNames)

Establece que solo se ejecuten las pruebas en las clases proporcionadas. Se debe llamar antes de "run".

Si se proporciona más de una clase, se requiere un InstrumentationTestRunner que admita la sintaxis de argumentos de varias clases.

Parámetros
classNames String: Es un array de nombres de clase completamente calificados (p. ej., x.y.z).

setCoverage

public void setCoverage (boolean coverage)

Establece el modo de cobertura de código de esta ejecución de prueba.

Parámetros
coverage boolean

setCoverageReportLocation

public void setCoverageReportLocation (String arg0)

Establece la ubicación de los informes de cobertura generados.

Parámetros
arg0 String

setDebug

public void setDebug (boolean debug)

Establece el modo de depuración de esta ejecución de prueba. Si es verdadero, el ejecutor de pruebas de Android esperará a que se adjunte un depurador antes de continuar con la ejecución de la prueba.

Parámetros
debug boolean

setIgnoreSighup

public void setIgnoreSighup (boolean value)

Establece la opción en uiautomator para ignorar SIGHUP.

Parámetros
value boolean: Ignora el indicador si se establece como verdadero.

setLogOnly

public void setLogOnly (boolean logOnly)

Establece esta ejecución de prueba en modo de solo registro, lo que omite la ejecución de la prueba.

Parámetros
logOnly boolean

setMaxTimeToOutputResponse

public void setMaxTimeToOutputResponse (long timeout, 
                TimeUnit unit)

Establece el tiempo máximo permitido entre la salida del comando de shell que ejecuta las pruebas en los dispositivos.

Esto permite establecer un tiempo de espera en caso de que las pruebas se queden atascadas y nunca finalicen. Esto es diferente del tiempo de espera normal de la conexión.

De forma predeterminada, no se especificará ningún tiempo de espera.

Parámetros
timeout long: Es la cantidad máxima de tiempo durante la cual el comando puede no generar ninguna respuesta. Un valor de 0 significa que el método esperará indefinidamente (hasta que receiver cancele la ejecución) la salida del comando y nunca arrojará una excepción.

unit TimeUnit: Unidades para los valores maxTimeToOutputResponse y maxTimeout distintos de cero.

setMaxTimeout

public void setMaxTimeout (long maxTimeout, 
                TimeUnit unit)

Establece el tiempo máximo permitido para que finalice la instrumentación.

Esto permite establecer un tiempo de espera en caso de que las pruebas se queden atascadas y nunca finalicen. Esto es diferente del tiempo de espera normal de la conexión.

De forma predeterminada, no se especificará ningún tiempo de espera.

Parámetros
maxTimeout long: Es la cantidad máxima de tiempo durante la cual el comando puede no generar ninguna respuesta. Un valor de 0 significa que el método esperará indefinidamente (hasta que receiver cancele la ejecución) la salida del comando y nunca arrojará una excepción.

unit TimeUnit: Unidades para los valores maxTimeToOutputResponse y maxTimeout distintos de cero.

setMaxtimeToOutputResponse

public void setMaxtimeToOutputResponse (int maxTimeToOutputResponse)

Este método dejó de estar disponible.
En su lugar, usa setMaxTimeToOutputResponse(long, TimeUnit).

Parámetros
maxTimeToOutputResponse int

setMethodName

public void setMethodName (String className, 
                String testName)

Establece que solo se ejecute el método de prueba especificado. Se debe llamar antes de "run".

Parámetros
className String: Nombre de clase completamente calificado (p. ej., x.y.z)

testName String: Nombre del método

setRunName

public void setRunName (String runName)

Establece un nombre de ejecución personalizado para que se informe a ITestRunListener en run()

Si no se especifica, se usará el nombre del paquete.

setTestCollection

public void setTestCollection (boolean b)

Establece esta ejecución de prueba en el modo de recopilación de pruebas. Si es verdadero, se omitirá la ejecución de la prueba y se establecerán todos los argumentos del ejecutor adecuados que se requieren para una recopilación de pruebas exitosa.

Parámetros
b boolean

setTestPackageName

public void setTestPackageName (String packageName)

Establece que se ejecuten todas las pruebas en el paquete especificado. Se debe llamar antes de "run".

Parámetros
packageName String: Nombre del paquete completamente calificado (p. ej., x.y.z)

setTestSize

public void setTestSize (IRemoteAndroidTestRunner.TestSize size)

Establece que solo se ejecuten pruebas del tamaño determinado. Se debe llamar antes de "run".

Parámetros
size IRemoteAndroidTestRunner.TestSize: Es el TestSize que se ejecutará.

Métodos protegidos

getRunCommand

protected String getRunCommand ()

Muestra
String

getRunnerPath

protected String getRunnerPath ()

Muestra
String