zoukankan      html  css  js  c++  java
  • MonkeyRunner_运行脚本(一)

    前提:环境已部署, 使用数据线连接上真机

     一、使用cmd窗口单步执行monkeyrunner命令

       打开cmd窗口,输入monkeyrunner (前提设置好环境变量);然后按照monkeyrunner常用命令一步一步执行即可

    二、使用CMD窗口执行python文件

      打开cmd窗口,输入monkeyrunner d:mkinstall.py  对python脚本文件执行

    install.py文件内容如下:

     1 from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice,MonkeyImage
     2 device=MonkeyRunner.waitForConnection()
     3 MonkeyRunner.sleep(3)
     4 device.removePackage('com.xxx.phone')
     5 MonkeyRunner.sleep(2)
     6 device.installPackage('d:mkxxxphone.apk')
     7 MonkeyRunner.sleep(2)
     8 
     9 device.wake()
    10 device.touch(800,1900,'DOWN_AND_UP')  
    11 MonkeyRunner.sleep(2)
    12 device.startActivity(component="com.xxx.phone/com.xxx.phone.activity.WelcomeActivity") 
    13 MonkeyRunner.sleep(5)
    14 device.wake()
    15 device.drag((800,600),(400,600),0.1,10) 
    16 device.wake()
    17 MonkeyRunner.sleep(2)
    18 device.drag((800,600),(300,600),0.1,10)  
    19 MonkeyRunner.sleep(2)   
    20 device.touch(530,1600,'DOWN_AND_UP') 
    21 MonkeyRunner.sleep(3)
    22 device.touch(331,545,'DOWN_AND_UP') 
    23 device.touch(331,1850,'DOWN_AND_UP') 
    24 print "install success!!"

    三、MonkeyRunner 常用命令

    //导入三模块

      from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice,MonkeyImage

    //连接设备,创建device对象,代表连接的手机,有两种连接方式:

      device=MonkeyRunner.waitForConnection()   //默认连接

      device=MonkeyRunner.waitForConnection(1.0,’emulator-5554’) //参数连接

      参数1:超时时间,单位秒。默认是无限期等待。

      参数2:设备名称,默认为当前设备(手机优先,其次为模拟器)

    //安装APK,成功则返回true

      device.installPackage(‘d:xxx.apk’)

    //卸载APK,成功返回true

      device.removePackage(‘xxx.apk’) 

    //启动APP

      device.startActivity(component=”com.yjy.phone/com.yjy.phone,activity.WelcomeActivity”)

    //拖拽

      device.drag((x1,y1),(x2,y2),01,10)

      参数:开始坐标,结束坐标,持续时间,步骤

    //触摸 (x,y为坐标,单位像素)

      device.touch(x,y,’DOWN_AND_UP’)

      事件类型:(用于touch和press)

      1、DOWN发送一个DOWN事件。指定DOWN事件类型发送到设备,对应的按一个键或触摸屏幕上。
      2、UP发送一个UP事件。指定UP事件类型发送到设备,对应释放一个键或从屏幕上抬起。
      3、DOWN_AND_UP发送一个DOWN事件,然后一个UP事件。对应于输入键或点击屏幕。

    //按键

      device.press(‘KEYCODE_HOME’,’DOWN_AND_UP’)

      参数1:

    home键

    KEYCODE_HOME

    back键

    KEYCODE_BACK 

    send键

    KEYCODE_CALL 

    end键 

    KEYCODE_ENDCALL

    上导航键

    KEYCODE_DPAD_UP 

    ok键

    KEYCODE_DPAD_CENTER 

    下导航键

    KEYCODE_DPAD_DOWN 

    power键

    KEYCODE_POWER 

    左导航

    KEYCODE_DPAD_LEFT 

    camera键

    KEYCODE_CAMERA 

    右导航

    KEYCODE_DPAD_RIGHT

    上音量键

    KEYCODE_VOLUME_UP 

    menu键

    KEYCODE_MENU

    下音量键

    KEYCODE_VOLUME_DOWN 

    //唤醒设备

      device.wake()

    //输入字符串

      device.type(‘abc’)

     //截屏保存

      result=device.takeSnapshot()

      result.writeToFile(‘d:/result1.png','png')  //保存电脑本地

     //执行一个adb shell命令,并返回结果,如果有的话

      device.shell("adb monkey --help")

     //重启设备

      device.reboot()

     //延时

      MonkeyRunner.sleep(5)

     //打印

      print”abc”

     //monkeyrunner的退出:

      ctrl+d

  • 相关阅读:
    负数求余数 C 和 Matlab&Python 处理不一样
    [Matlab] 线性卷积&圆周卷积代码实现
    [Arduino] 驱动RC522 读取 UID例程
    [C++] Nested Radical Constant
    [Arduino] 学习总结小合集(更新ING)
    谐振电路的品质因素总结
    142. Linked List Cycle II
    664. Strange Printer
    188. Best Time to Buy and Sell Stock IV
    50. Pow(x, n)
  • 原文地址:https://www.cnblogs.com/happy-xiaoxiao/p/8065212.html
Copyright © 2011-2022 走看看