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(
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 |
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 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 |
|