UiAutomatorRunner

public class UiAutomatorRunner
extends Object implements IRemoteAndroidTestRunner

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


Executa o teste do UI Automator no dispositivo e informa os resultados. O teste do UI Automator é um executor de testes dedicado para executar testes de automação de UI que usam o framework UI Automator. O executor de testes no dispositivo emula o formato de saída do teste de instrumentação para que o código de análise atual na ddmlib e no TF possa ser reutilizado. Basicamente, é um wrapper ao redor deste comando: adb shell uiautomator runtest (arquivos jar) -e class (classes de teste) ...

Resumo

Construtores públicos

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

Criar um UiAutomatorRunner para executar testes de automação da interface

Métodos públicos

void addBooleanArg(String name, boolean value)

Adiciona um argumento booleano para incluir no comando de instrumentação.

void addInstrumentationArg(String name, String value)

Adiciona um argumento a ser incluído no comando de instrumentação.

void cancel()

Solicita o cancelamento desta execução de teste.

IRemoteAndroidTestRunner.CoverageOutput getCoverageOutputType()

Retorna o tipo de cobertura de teste produzido pelo executor.

String getPackageName()

Retorna o nome do pacote da última classe Java adicionada.

String getRunnerName()

Retorna o nome da classe UiAutomatorTestRunner padrão.

void removeInstrumentationArg(String name)

Remove um argumento adicionado anteriormente.

void run(ITestRunListener... listeners)

Execute essa execução de teste.

void run( listeners)

Execute essa execução de teste.

void setAdditionalTestOutputLocation(String additionalTestDataPath)

Define o local da saída de teste adicional a ser copiada para o host antes da desinstalação do app de teste.

void setClassName(String className)

Define para executar apenas testes nesta classe. Precisa ser chamado antes de "run".

void setClassNames(String[] classNames)

Define para executar apenas testes nas classes fornecidas. Precisa ser chamado antes de "run".

void setCoverage(boolean coverage)

Define o modo de cobertura de código desta execução de teste.

void setCoverageReportLocation(String arg0)

Define o local dos relatórios de cobertura gerados.

void setDebug(boolean debug)

Define o modo de depuração desta execução de teste.

void setIgnoreSighup(boolean value)

Define a opção no uiautomator para ignorar SIGHUP.

void setLogOnly(boolean logOnly)

Define esta execução de teste como modo somente de registro em log e ignora a execução do teste.

void setMaxTimeToOutputResponse(long timeout, TimeUnit unit)

Define o tempo máximo permitido entre a saída do comando do shell que executa os testes nos dispositivos.

void setMaxTimeout(long maxTimeout, TimeUnit unit)

Define o tempo máximo permitido para a conclusão da instrumentação.

void setMaxtimeToOutputResponse(int maxTimeToOutputResponse)

Esse método foi descontinuado. use setMaxTimeToOutputResponse(long, TimeUnit).

void setMethodName(String className, String testName)

Define para executar apenas o método de teste especificado. Precisa ser chamado antes de "run".

void setRunName(String runName)

Defina um nome de execução personalizado para ser informado ao ITestRunListener em run()

Se não for especificado, o nome do pacote será usado.

void setTestCollection(boolean b)

Define esta execução de teste como modo de coleta de teste.

void setTestPackageName(String packageName)

Define para executar todos os testes no pacote especificado. Precisa ser chamado antes de "run".

void setTestSize(IRemoteAndroidTestRunner.TestSize size)

Define para executar apenas testes de determinado tamanho.

Métodos protegidos

String getRunCommand()
String getRunnerPath()

Construtores públicos

UiAutomatorRunner

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

Criar um UiAutomatorRunner para executar testes de automação da interface

Parâmetros
remoteDevice IDevice: o dispositivo remoto com que interagir: executar teste, coletar resultados etc.

jarPaths String: os caminhos para arquivos JAR em que os casos de teste do UI Automator estão. Os caminhos precisam ser absolutos ou relativos a /data/local/tmp/ no dispositivo.

runnerPath String: executor uiautomator alternativo a ser usado, pode ser null e o padrão será usado nesse caso.

Métodos públicos

addBooleanArg

public void addBooleanArg (String name, 
                boolean value)

Adiciona um argumento booleano para incluir no comando de instrumentação.

Parâmetros
name String: o nome do argumento do pacote de instrumentação

value boolean: o valor do argumento

addInstrumentationArg

public void addInstrumentationArg (String name, 
                String value)

Adiciona um argumento a ser incluído no comando de instrumentação.

Precisa ser chamado antes de "run". Se um argumento com o nome especificado já tiver sido fornecido, o valor dele será substituído.

Parâmetros
name String: o nome do argumento do pacote de instrumentação

value String: o valor do argumento

cancelar

public void cancel ()

Solicita o cancelamento desta execução de teste.

getCoverageOutputType

public IRemoteAndroidTestRunner.CoverageOutput getCoverageOutputType ()

Retorna o tipo de cobertura de teste produzido pelo executor. Consulte CoverageOutput.

Retorna
IRemoteAndroidTestRunner.CoverageOutput

getPackageName

public String getPackageName ()

Retorna o nome do pacote da última classe Java adicionada.

Retorna
String

getRunnerName

public String getRunnerName ()

Retorna o nome da classe UiAutomatorTestRunner padrão.

Retorna
String

removeInstrumentationArg

public void removeInstrumentationArg (String name)

Remove um argumento adicionado anteriormente.

Parâmetros
name String: o nome do argumento do pacote de instrumentação a ser removido

run

public void run (ITestRunListener... listeners)

Execute essa execução de teste.

Método de conveniência para ERROR(/#run(Collection)).

Parâmetros
listeners ITestRunListener: aguarda os resultados do teste

Gera
AdbCommandRejectedException
ShellCommandUnresponsiveException
TimeoutException

run

public void run ( listeners)

Execute essa execução de teste.

Parâmetros
listeners : coleção de listeners para resultados de teste.

Gera
AdbCommandRejectedException
ShellCommandUnresponsiveException
TimeoutException

setAdditionalTestOutputLocation

public void setAdditionalTestOutputLocation (String additionalTestDataPath)

Define o local da saída de teste adicional a ser copiada para o host antes da desinstalação do app de teste. Por exemplo, relatórios comparativos gerados.

Parâmetros
additionalTestDataPath String

setClassName

public void setClassName (String className)

Define para executar apenas testes nesta classe. Precisa ser chamado antes de "run".

Parâmetros
className String: nome da classe totalmente qualificado (por exemplo, x.y.z)

setClassNames

public void setClassNames (String[] classNames)

Define para executar apenas testes nas classes fornecidas. Precisa ser chamado antes de "run".

Se você fornecer mais de uma classe, será necessário um InstrumentationTestRunner que ofereça suporte à sintaxe de argumento de várias classes.

Parâmetros
classNames String: matriz de nomes de classes totalmente qualificados (por exemplo, x.y.z)

setCoverage

public void setCoverage (boolean coverage)

Define o modo de cobertura de código desta execução de teste.

Parâmetros
coverage boolean

setCoverageReportLocation

public void setCoverageReportLocation (String arg0)

Define o local dos relatórios de cobertura gerados.

Parâmetros
arg0 String

setDebug

public void setDebug (boolean debug)

Define o modo de depuração desta execução de teste. Se for "true", o executor de testes do Android vai aguardar a conexão de um depurador antes de continuar com a execução do teste.

Parâmetros
debug boolean

setIgnoreSighup

public void setIgnoreSighup (boolean value)

Define a opção no uiautomator para ignorar SIGHUP.

Parâmetros
value boolean: ignora o indicador se definido como verdadeiro

setLogOnly

public void setLogOnly (boolean logOnly)

Define esta execução de teste como modo somente de registro em log e ignora a execução do teste.

Parâmetros
logOnly boolean

setMaxTimeToOutputResponse

public void setMaxTimeToOutputResponse (long timeout, 
                TimeUnit unit)

Define o tempo máximo permitido entre a saída do comando do shell que executa os testes nos dispositivos.

Isso permite definir um tempo limite caso os testes fiquem presos e nunca terminem. Isso é diferente do tempo limite normal da conexão.

Por padrão, nenhum tempo limite é especificado.

Parâmetros
timeout long: o período máximo em que o comando pode não gerar nenhuma resposta. Um valor de 0 significa que o método vai esperar para sempre (até que o receiver cancele a execução) a saída do comando e nunca vai gerar uma exceção.

unit TimeUnit: unidades para valores maxTimeToOutputResponse e maxTimeout diferentes de zero.

setMaxTimeout

public void setMaxTimeout (long maxTimeout, 
                TimeUnit unit)

Define o tempo máximo permitido para a conclusão da instrumentação.

Isso permite definir um tempo limite caso os testes fiquem presos e nunca terminem. Isso é diferente do tempo limite normal da conexão.

Por padrão, nenhum tempo limite é especificado.

Parâmetros
maxTimeout long: o período máximo em que o comando pode não gerar uma resposta. Um valor de 0 significa que o método vai esperar para sempre (até que o receiver cancele a execução) a saída do comando e nunca vai gerar uma exceção.

unit TimeUnit: unidades para valores maxTimeToOutputResponse e maxTimeout diferentes de zero.

setMaxtimeToOutputResponse

public void setMaxtimeToOutputResponse (int maxTimeToOutputResponse)

Esse método foi descontinuado.
use setMaxTimeToOutputResponse(long, TimeUnit).

Parâmetros
maxTimeToOutputResponse int

setMethodName

public void setMethodName (String className, 
                String testName)

Define para executar apenas o método de teste especificado. Precisa ser chamado antes de "run".

Parâmetros
className String: nome da classe totalmente qualificado (por exemplo, x.y.z)

testName String: nome do método

setRunName

public void setRunName (String runName)

Defina um nome de execução personalizado para ser informado ao ITestRunListener em run()

Se não for especificado, o nome do pacote será usado.

setTestCollection

public void setTestCollection (boolean b)

Define esta execução de teste como modo de coleta de teste. Se for verdadeiro, vai pular a execução do teste e definir todos os argumentos de execução adequados necessários para uma coleta de teste bem-sucedida.

Parâmetros
b boolean

setTestPackageName

public void setTestPackageName (String packageName)

Define para executar todos os testes no pacote especificado. Precisa ser chamado antes de "run".

Parâmetros
packageName String: nome totalmente qualificado do pacote (por exemplo, x.y.z)

setTestSize

public void setTestSize (IRemoteAndroidTestRunner.TestSize size)

Define para executar apenas testes de determinado tamanho. Precisa ser chamado antes de "run".

Parâmetros
size IRemoteAndroidTestRunner.TestSize: o TestSize a ser executado.

Métodos protegidos

getRunCommand

protected String getRunCommand ()

Retorna
String

getRunnerPath

protected String getRunnerPath ()

Retorna
String