Monkeyrunner学习1

来源:互联网 发布:物流信息平台软件 编辑:程序博客网 时间:2024/05/07 11:43
本人系菜鸟,写脚本的时候,经常忘记API使用方法,现列举常用的API并附上示例,希望在大家写脚本的时候有帮助!

编写py文件, 比如说test.py. 内容如下:

# Imports the monkeyrunner modules used by this program, 此处是加载需要的文件, 可以说是必须的吧。
from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice, MonkeyImage
 
# Connects to the current device, returning a MonkeyDevice object 此处为连接当前运行的虚拟机, 然后返回一个对象。
device = MonkeyRunner.waitForConnection()
 

# Installs the Android package. Notice that this method returns a boolean, so you can test 此处为加载apk文件
device.installPackage('./HelloWorld.apk')
 
# sets a variable with the package's internal name 此处定义包的变量, 方便管理
package = 'cn.test'

# sets a variable with the name of an Activity in the package 此处定义activity变量, 需要添加包名
activity = 'cn.test.HelloWorld'

# sets the name of the component to start  此处设置起始组件, 放在变量里
runComponent = package + '/' + activity

# Runs the component 此处为启动
device.startActivity(component=runComponent)
 

# Presses the Menu button 此处为按menu并松开
device.press('KEYCODE_MENU','DOWN_AND_UP')
 
#Takes a screenshot  此处为截图
result = device.takeSnapshot()
 
# Writes the screenshot to a file 此处为保存图片
result.writeToFile('./shot1.png','png')


PS: 如果写('./shot1.png','png') 则会保存在tools文件夹下, 

不过可以写绝对路径, 比如('d:\shot1.png','png')


1. #导入模块;

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

2. #连接当前设备,并返回一个MonkeyDevice对象;
    device = MonkeyRunner.waitForConnection()
    if not device:
        print "Please connect a device to start!"
    else:
        print "Start "
    
3. #安装Android包,注意,此方法返回的返回值为boolean,由此可以判断安装过程是否正常 ;
    device.installPackage('myproject/bin/MyApplication.apk') 

4. #启动一个Activity; 
   device.startActivity(component='com.android.htccontacts/com.android.htccontacts.ContactsTabActivity')

5. #截图;
    result = device.takeSnapshot()
    result.writeToFile('C:\\Users\\Martin\\Desktop\\test.png','png')

6. #时延(秒);
    MonkeyRunner.sleep(3)

7. #滑动屏幕;
    for i in range(1,70):
        device.drag((250,850),(250,110),0.1,10)
    for i in range(1,70):
       device.drag((250,110),(250,850),0.1,10)
   MonkeyRunner.sleep(1)

8. #触击屏幕;
    device.touch(507,72,"DOWN_AND_UP")

9. #执行adb shell命令;

    device.shell("input text goup01")

10. #按键
    按下HOME键     device.press('KEYCODE_HOME','DOWN_AND_UP')
相应的按键对应的名称如下:
menu键:KEYCODE_MENU
home键:KEYCODE_HOME
back键:KEYCODE_BACK
search键:KEYCODE_SEARCH
call键:KEYCODE_CALL
end键:KEYCODE_ENDCALL
上导航键:KEYCODE_DPAD_UP
下导航键:KEYCODE_DPAD_DOWN

0 0
原创粉丝点击