zoukankan      html  css  js  c++  java
  • MonkeyServer的使用及自动化

    ●MonkeyServer机制简介

    Monkey可以在设备上启动一个服务端让客户机远程的连接到设备,对设备进行调试和控制

    ●MonkeyServer使用

    •启动MonkeyServer

    adb shell monkey --port 1080 &

    •连接MonkeyServer

    adb forward tcp:1080 tcp:1080 //把PC机的端口映射到设备暴露出来的端口上

    telnet 127.0.0.1 1080 //通过telnet本机连接到MonkeyServer

    ●MonkeyServer的主要命令:   

    •touch [down|up|move] [x] [y]

    •press[keycoe]

    •sleep

    •getvar(获取系统的变量)

    •type (输入一些字符)

    •计算器的例子

    adb shell monkey --port 1080 & //启动MoneyServer

    adb forward tcp:1080 tcp:1080 //把本机的1080端口映射到设备的1080端口

    telnet 127.0.0.1 1080 //通过网络连接命令telnet连接本机的1080端口

    打开计算器

    press KEYCODE_8 //计算器自动输入8

    tap 100 500 //根据坐标自动输入数字

    这个例子说明通过telnet可以完成对设备的控制操作,但是怎么能够对这些操作实现自动化呢?下面介绍   

    ●MonkeyServer命令脚本化(vbs脚本实现对telnet程序的自动化控制)

    ·关键脚本

    set sh=WScript.CreateObject("WScript.Shell")

    WScript.Sleep 1000

    sh.SendKeys "open 127.0.0.1 1080 {ENTER}"

    ·启动命令

    cscript//nologo monkeyServerRun.vbs

    ·计算器的例子

    Text1:.vbs脚本(脚本需放在电脑本地)

    set sh=WScript.CreateObject("WScript.Shell")//启动WScript.Shell

    WScript.Sleep 1000

    sh.SendKeys "open 127.0.0.1 1080 {ENTER}"//通过telnet打开Monkeyserver地址来访问monkeyserver

    WScript.Sleep 1000

    Sh.SendKeys "press KEYCODE_3 {ENTER}"

    WScript.Sleep 1000

    Sh.SendKeys "press KEYCODE_7 {ENTER}"

    WScript.Sleep 1000

    Sh.SendKeys "press KEYCODE_NUMPAD_ADD {ENTER}"

    WScript.Sleep 1000

    Sh.SendKeys "press KEYCODE_2 {ENTER}"

    WScript.Sleep 1000

    Sh.SendKeys "press KEYCODE_1 {ENTER}"

    WScript.Sleep 1000

    Sh.SendKeys "press KEYCODE_NUMPAD_EQUALS {ENTER}"

    WScript.Sleep 1000

    Sh.SendKeys "done {ENTER}"

    WScript.Sleep 1000

    但是monkeyserver并没有提供启动应用的操作,也就是说每次执行monkeyserver指令之前,必须先把被测应用启动起来,这个需要在脚本中有自动启动应用的操作,可以通过批处理脚本来实现。

     

    Text2:.bat脚本(脚本需放在电脑本地)

    adb forward tcp:1080 tcp:1080//做好端口映射

    adb shell am start -n com.android.calculator2/com.android.calculator2.calculator//启动应用

    start telnet.exe//在批处理中启动telnet应用程序

    cscript //nologo monkeyServerRun.vbs//执行脚本

    ·执行MonkeyServer自动打开计算器并且自动计算步骤:

    dir *.script 或dir //查看本地有没有text1和2两个脚本

    adb shell monkey --port 1080 &

    adb forward tcp:1080 tcp:1080

    telnet 127.0.0.1 1080

    monkeyServer.bat//执行批处理

    这就完成了monkeyServer脚本自动化的过程

  • 相关阅读:
    VC得到当前目录与得到应用程序目录的一个应用
    VC回车键的使用
    VC保存和显示数据库图像(BMP)
    windows2003 oracle817过防火墙方法
    美化VC界面(用户登录界面)
    系统要关闭,可我程序还有事要处理?
    VC保存和显示数据库图像(JPG、JPEG)
    VC应用程序快捷方式带参数
    O(n)回文子串算法
    [转]经典字符串哈希算法
  • 原文地址:https://www.cnblogs.com/ljf-hero/p/6625305.html
Copyright © 2011-2022 走看看