A classe monkeyrunner, que representa um dispositivo ou emulador, pode ser acessada pela estação de trabalho que executa o monkeyrunner.
Essa classe é usada para controlar um dispositivo ou emulador Android. Os métodos enviam eventos de IU, recuperam informações, instalam, removem e executam aplicativos.
    Normalmente, não é necessário criar uma instância de MonkeyDevice. Em vez disso,
    use
MonkeyRunner.waitForConnection() para criar um novo objeto a partir de uma conexão com um dispositivo ou
emulador. Por exemplo, em vez de
usar:
newdevice = MonkeyDevice()
use:
newdevice = MonkeyRunner.waitForConnection()
Resumo
| Constantes | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| string | DOWN | Use isso com o argumento typedepress()outouch()
                para enviar um evento DOWN. | |||||||||
| string | UP | Use isso com o argumento typedepress()outouch()
                para enviar um evento UP. | |||||||||
| string | DOWN_AND_UP | Use isso com o argumento typedepress()outouch()
                para enviar um evento DOWN imediatamente seguido por um evento UP. | |||||||||
| Métodos | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
|  | Transmite uma intent para o dispositivo, como se ela viesse de um aplicativo. | ||||||||||
|  | 
                Simula um gesto de arrastar (tocar, manter pressionado e mover) na tela do dispositivo.
             | ||||||||||
|  | 
                Dado o nome de uma variável de ambiente do sistema, retorna o valor para o dispositivo.
                Os nomes das variáveis disponíveis estão listados na 
                descrição detalhada desse método.
             | ||||||||||
|  | 
.               A API equivalente de  adb shell getprop <key>. This is provided for use
                by platform developers.
             | ||||||||||
|  | 
                Instala o aplicativo para Android ou o pacote de teste contido em packageFile no
                dispositivo. Se o aplicativo ou pacote de teste já estiver instalado, ele será substituído.
             | ||||||||||
|  | 
                Executa o componente especificado na instrumentação Android e retorna os resultados
                em um dicionário cujo formato exato é determinado pelo componente em execução. O componente precisa estar presente no dispositivo.
             | ||||||||||
|  | 
                Envia o evento de tecla especificado por "type" para a chave especificada por
                "keycode".
             | ||||||||||
|  | 
                Reinicializa o dispositivo no carregador de inicialização especificado por bootloadType.
             | ||||||||||
|  | 
                Exclui o pacote especificado do dispositivo, inclusive os dados e cache relacionados.
             | ||||||||||
|  | 
                Executa um comando do shell do  adbe retorna o resultado, se houver. | ||||||||||
|  | 
                Inicia uma atividade no dispositivo enviando uma intent construída a partir dos
                argumentos disponibilizados.
             | ||||||||||
| 
                
                        MonkeyImage
                    
                 | 
                Captura todo o buffer de tela do dispositivo, gerando um objeto
                 
                
                        MonkeyImage
                
                que contém uma captura de tela da exibição atual. | ||||||||||
|  | 
                Envia um evento de toque especificado por "type" para o local da tela determinado por x e y.
             | ||||||||||
|  | 
                Envia os caracteres contidos na mensagem para o dispositivo, como se tivessem sido digitados no teclado dele. Isso equivale a chamar  press()para cada código de chave emmessageusando o tipo de evento de chaveDOWN_AND_UP. | ||||||||||
|  | Ativa a tela do dispositivo. | ||||||||||
Constantes
string DOWN
string UP
string DOWN_AND_UP
Métodos públicos
void broadcastIntent ( string uri, string action, string data, string mimetype, iterable categories dictionary extras, component component, iterable flags)
            Transmite uma intent para o dispositivo, como se ela viesse de um
                aplicativo. Consulte Intent para ver mais informações sobre os
            argumentos.
        
Argumentos
| uri | URI para o intent.
                Consulte Intent.setData(). | 
|---|---|
| action | A ação dessa intent
                (consulte Intent.setAction()). | 
| data | O URI de dados para essa intent
                (consulte Intent.setData()). | 
| mimetype | O tipo MIME da intent
                (consulte Intent.setType()). | 
| categories | Uma estrutura de dados iterável contendo strings que definem categorias para essa intent
                (consulte Intent.addCategory()). | 
| extras | Um dicionário de dados extras para essa intent
                (consulte Intent.putExtra()para ver um exemplo).A chave para cada item do dicionário deve ser uma string. O valor do item pode ser qualquer tipo de dados simples ou estruturados. | 
| component | O componente dessa intent (consulte ComponentName).
                O uso desse argumento direcionará a intent para uma classe específica dentro de um determinado
                pacote Android. | 
| flags | Uma estrutura de dados iterável contendo sinalizações que controlam como a intent é gerenciada
                (consulte Intent.setFlags()). | 
void drag ( tuple start, tuple end, float duration, integer steps)
Simula um gesto de arrastar (tocar, manter pressionado e mover) na tela do dispositivo.
Argumentos
| start | Ponto de partida do gesto de arrastar, na forma de tuple (x, y), em que x e y são números inteiro. | 
|---|---|
| end | Ponto final do gesto de arrastar, na forma de tuple (x, y), em que x e y são números inteiros. | 
| duração | Duração do gesto de arrastar, em segundos. O padrão é 1,0 segundo. | 
| steps | O número de etapas a serem seguidas ao interpolar pontos. O padrão é 10. | 
object getProperty (string key)
Dado o nome de uma variável de ambiente do sistema, retorna o valor para o dispositivo.
Argumentos
| key | Nome da variável de ambiente do sistema. Os nomes das variáveis disponíveis estão listados na Tabela 1. Nomes de variáveis de propriedade, ao final deste tópico. | 
|---|
Retornos
- Valor da variável. O formato dos dados varia de acordo com a variável solicitada.
object getSystemProperty (string key)
            Sinônimo de getProperty().
        
Argumentos
| key | Nome da variável de ambiente do sistema. Os nomes das variáveis disponíveis estão listados na Tabela 1. Nomes de variáveis de propriedade. | 
|---|
Retornos
- Valor da variável. O formato dos dados varia de acordo com a variável solicitada.
void installPackage (string path)
Instala o aplicativo para Android ou o pacote de teste contido em packageFile no dispositivo. Se o aplicativo ou pacote de teste já estiver instalado, ele será substituído.
Argumentos
| path | Caminho e nome de arquivo totalmente qualificados do arquivo .apka ser instalado. | 
|---|
dictionary instrument ( string className, dictionary args)
Executa o componente especificado com instrumentação Android e retorna os resultados em um dicionário cujo formato exato é determinado pelo componente em execução. O componente precisa estar no dispositivo.
Use esse método para iniciar um caso de teste que utiliza uma das classes de casos de teste do Android. Consulte Testar o aplicativo para saber mais sobre o teste de unidade pelo framework do Android.
Argumentos
| className | O nome de um componente Android que já está instalado no dispositivo, no
            formato padrão packagename/classname, em que packagename é o nome do pacote
            Android de um arquivo .apkno dispositivo e classname é o
            nome da classe de um componente Android (Activity,
            ContentProvider, Service ou BroadcastReceiver) nesse arquivo. Tanto
            packagename quanto classname precisam ser totalmente qualificados. VejaComponentNamepara mais detalhes. | 
|---|---|
| args | Dicionário que contém sinalizadores e os valores correspondentes. Eles são transmitidos para o componente quando ele é iniciado. Se a sinalização não receber um valor, defina o valor do dicionário como uma string vazia. | 
Retornos
- 
                Um dicionário que contém a saída do componente. O conteúdo do dicionário é definido pelo próprio componente. Se você usar InstrumentationTestRunnercomo o nome da classe no argumento componentName, o dicionário resultante apresentará a única chave "stream". O valor de "stream" é uma string que contém a saída de teste, como seInstrumentationTestRunnerfosse executado a partir da linha de comando. O formato dessa saída é descrito em Testar em outros ambientes de desenvolvimento integrados.
void press (string name, integer type)
            Envia o evento especificado por type para a chave especificada por
            keycode.
        
Argumentos
| name | Nome do código-chave a ser enviado. Consulte KeyEventpara ver uma lista de
            nomes de códigos. Use o nome do código-chave, não o valor do inteiro. | 
|---|---|
| type | Tipo de evento de tecla a ser enviado. Os valores permitidos são 
            DOWN,UPeDOWN_AND_UP. | 
void reboot (string bootloadType)
                Reinicializa o dispositivo no carregador de inicialização especificado por bootloadType.
        
Argumentos
| into | Tipo de carregador de reinicialização usado. Os valores permitidos são "bootloader", "recovery" ou "None". | 
|---|
void removePackage (string package)
Exclui o pacote especificado do dispositivo, inclusive os dados e cache relacionados.
Argumentos
| package | Nome do pacote Android de um arquivo .apkno dispositivo. | 
|---|
object shell (string cmd)
            Executa um comando do shell do adb e retorna o resultado, se houver.
        
Argumentos
| cmd | O comando a ser executado no shell adb. O formato desses comandos é
            descrito no tópico Android
            Debug Bridge. | 
|---|
Retornos
- Resultados do comando, se houver. O formato dos resultados é determinado pelo comando.
void startActivity ( string uri, string action, string data, string mimetype, iterable categories dictionary extras, component component, iterable flags)
Inicia uma atividade no dispositivo enviando uma intent construída a partir dos argumentos disponibilizados.
Argumentos
| uri | URI para o intent.
            Consulte Intent.setData(). | 
|---|---|
| action | A ação da intent
                (consulte Intent.setAction()). | 
| data | O URI de dados para essa intent
                (consulte Intent.setData()). | 
| mimetype | O tipo MIME da intent
                (consulte Intent.setType()). | 
| categories | Uma estrutura de dados iterável contendo strings que definem categorias para essa intent
                (consulte Intent.addCategory()). | 
| extras | Um dicionário de dados extras para essa intent
                (consulte Intent.putExtra()para ver um exemplo).A chave para cada item do dicionário deve ser uma string. O valor do item pode ser qualquer tipo de dados simples ou estruturados. | 
| component | O componente dessa intent
                (consulte ComponentName). O uso desse argumento direcionará a
                intent para uma classe específica dentro de um determinado pacote Android. | 
| flags | Uma estrutura de dados iterável contendo sinalizações que controlam como a intent é gerenciada
                (consulte Intent.setFlags()). | 
      
        
            
                MonkeyImage
            
        
      
      takeSnapshot
      
      ()
      
    
  Captura todo o buffer de tela do dispositivo, produzindo uma captura da tela atual.
Retornos
- Objeto MonkeyImage que contém a imagem da tela atual.
void touch ( integer x, integer y, string type)
Envia um evento de toque especificado por tipo para o local da tela especificado por x e y.
Argumentos
| x | Posição horizontal do toque nos pixels reais do dispositivo, começando pelo lado esquerdo da tela na orientação atual. | 
|---|---|
| y | Posição vertical do toque nos pixels reais do dispositivo, começando pelo topo da tela na orientação atual. | 
| type | Tipo de evento de tecla a ser enviado. Os valores permitidos são 
                DOWN,UPeDOWN_AND_UP. | 
void type (string message)
            Envia os caracteres contidos na mensagem para o dispositivo, como se
            tivessem sido digitados no teclado dele. Isso equivale a chamar
            press() para cada código de chave em message
            usando o tipo de evento de tecla DOWN_AND_UP.
        
Argumentos
| message | String que contém os caracteres a serem enviados. | 
|---|
void wake ()
Ativa a tela do dispositivo.
Apêndice
Tabela 1.Nomes de variáveis de propriedade usados com getProperty() e getSystemProperty().
| Grupo de propriedades | Propriedade | Descrição | Observações | 
|---|---|---|---|
| build | board | Codinome da placa do sistema do dispositivo. | Ver Build | 
| brand | Operadora ou provedor para o qual o SO é personalizado. | ||
| device | Nome do projeto do dispositivo. | ||
| fingerprint | Identificador exclusivo para a compilação em execução no momento. | ||
| host | |||
| ID | Número ou rótulo da lista de alterações. | ||
| model | Nome do dispositivo visível para o usuário final. | ||
| product | Nome geral do produto. | ||
| tags | Tags separadas por vírgula que descrevem a compilação, como "unsigned" e "debug". | ||
| type | Tipo de build, como "user" ou "eng". | ||
| user | |||
| CPU_ABI | Nome do conjunto de instruções de código nativo, no formato tipo de CPU mais convenção ABI. | ||
| manufacturer | Fabricante do produto/hardware. | ||
| version.incremental | Código interno usado pelo sistema de controle de origem para representar a versão do software. | ||
| version.release | Nome da versão do software visível para o usuário. | ||
| version.sdk | Versão do SDK visível para o usuário, associada à versão do SO. | ||
| version.codename | Codinome de desenvolvimento atual, ou "REL", se a versão do software tiver sido lançada. | ||
| display | width | Largura da tela do dispositivo, em pixels. | Consulte DisplayMetricspara mais detalhes. | 
| height | Altura da tela do dispositivo, em pixels. | ||
| density | Densidade lógica da tela. Esse é um fator que dimensiona as unidades
                DIP (Density-Independent Pixel) para a resolução do dispositivo. O DIP é ajustado para
                que 1 DIP seja equivalente a um pixel em uma tela de 160 pixels por polegada. Por exemplo,
                em uma tela de 160 dpi, a densidade é 1,0, enquanto em uma tela de 120 dpi, a densidade é 0,75. 
                    O valor não segue exatamente o tamanho real da tela, mas é ajustado de
                    acordo com grandes mudanças no DPI. Consulte
                     | ||
| am.current | package | Nome do pacote Android em execução no momento. | As chaves am.currentretornam informações sobre a atividade em execução
                no momento. | 
| action | Ação da atividade atual. Tem o mesmo formato que o atributo namedo elementoactionem um manifesto de pacote. | ||
| comp.class | Nome da classe do componente que iniciou a atividade atual. Consulte comp.packagepara ver mais detalhes. | ||
| comp.package | Nome do pacote do componente que iniciou a atividade atual. Um componente é especificado por um nome de pacote e pelo nome da classe que o pacote contém. | ||
| data | Dados (se houver) contidos na intent que iniciou a atividade atual. | ||
| categories | Categorias especificadas pela intent que iniciou a atividade atual. | ||
| clock | realtime | Número de milésimos de segundo desde a reinicialização do dispositivo, incluindo o tempo de inatividade. | Consulte SystemClockpara mais informações. | 
| uptime | Número de milésimos de segundo desde a reinicialização do dispositivo, sem incluir o tempo de inatividade. | ||
| millis | Hora atual desde a época do UNIX, em milésimos de segundo. | 
