1. Introdução
O MonkeyScript é uma linguagem de script para macacos, é um conjunto de comandos que podem ser reconhecidos pelo Monkey e pode nos ajudar a concluir uma série de operações repetitivas fixas.
Vantagens do script: simples, rápido, sem necessidade de ferramentas, basta executar um arquivo de script
Deficiências de script: somente operações básicas, como coordenadas e botões, podem ser implementadas simplesmente (operar de acordo com pixels)
2. Formato do script
Arquivo #Header, parâmetros que controlam o macaco para enviar mensagens
type = eventos brutos
count = 10
speed = 1.0
#O seguinte é o comando monkey
iniciar dados >>
LaunchActivity (pkg_name, atividade)
DispatchPress (KEYCODE_ENTER)
DispatchPress (KEYCODE_HOME)
----> As três primeiras linhas são cabeçalhos de script. count é o número de instruções contidas no script. velocidade é a velocidade de execução.
----> start data >> seguido pelo comando executado.
3. Métodos comuns
LaunchActivity (pkg_name, cl_name): inicie a atividade do aplicativo. Parâmetros: nome do pacote e atividade ativada.
Clique para operar
Tocar (x, y, tapDuration): simula um evento de clique com o dedo. Parâmetros: x, y são as coordenadas do controle, tapDuration é a duração do clique, este parâmetro pode ser omitido.
DispatchPress (keyCode): Pressione a tecla. Nota: O valor keyCode pode ser obtido na lista de códigos-chave do Baidu para Android
Pressão Longa (): Pressão longa por 2 segundos.
PressAndHold (x, y, pressDuration): simula eventos de pressão longos.
DispatchPointer (downTime, eventTime, ação, x, y, pressão, tamanho, metaState, xPrecision, yPrecision, dispositivo, edgeFlags): O comando DispatchPointer é usado para enviar operações de clique para uma posição de coordenada especificada.
Concentre-se principalmente nos três parâmetros de ação, x e y. ação: independentemente de o evento ser pressionado ou aumentado, 0 significa pressionado, 1 significa aumentado. x, y: indica as coordenadas do eixo X e do eixo Y acionadas pelo evento atual. Dois comandos DispatchPointer são adicionados, um é pressionado e o outro é levantado, o que significa operação com um clique, e os parâmetros restantes são definidos como 0 por padrão. downTime, eventTime representa a duração, expressa em milissegundos.
Arrastar e soltar
Arrastar (xStart, yStart, xEnd, yEnd, stepCount): Usado para simular uma operação de arrastar.
PinchZoom (x1Start, y1Start, x1End, y1End, x2Start, y2Start, x2End, y2End, stepCount): simula o gesto de zoom.
Aguarde operação
UserWait (sleepTime): aguardando um período de tempo, o tempo de espera indicado por sleepTime, em milissegundos.
DeviceWakeUp (): ativa a tela.
ProfileWait: aguarde 5 segundos.
Outras operações
DispatchString (entrada): sequência de entrada.
RotateScreen (rotationDegree, persist)): gire a tela. Parâmetros: rotationDegree é o ângulo de rotação, por exemplo, 1 representa 90 graus; persist significa se é fixo após a rotação, 0 significa recuperação após a rotação e diferente de zero significa fixo.
DispatchFlip (verdadeiro / falso): abra ou feche o teclado virtual.
4. Exemplos
-
<Exemplo de script>
Requisitos: Abra o navegador, digite www.ningmengban.com e saia do navegador. Este passo é repetido teste de estresse.
-
----> O arquivo de script browser.txt está escrito da seguinte maneira:
Arquivo #Header, parâmetros que controlam o macaco para enviar mensagens
type = eventos brutos
count = 10
speed = 1.0
#O seguinte é o corpo do script
iniciar dados >>
# 1. Abra o navegador
LaunchActivity (com.android.browser, com.android.browser.BrowserActivity)
ProfileWait ()
# 2. URL limpo
Toque (223.146)
ProfileWait ()
DispatchPress (112)
ProfileWait ()
# 3. Digite o URL
DispatchString (www.ningmengban.com)
ProfileWait ()
# 4. Confirme e carregue o URL
DispatchPress (KEYCODE_ENTER)
ProfileWait ()
# 5. Termine de sair do navegador
DispatchPress (KEYCODE_HOME)
ProfileWait ()
----> Envie o arquivo browser.txt para o telefone
adb push D: \ browser.txt data / local / tmp
D: \ browser.txt é o caminho e o nome do arquivo de script local e data / local / tmp é o caminho do telefone móvel
----> Executar script
adb shell monkey -f data / local / tmp / browser.txt -v -v 200