使用 MonkeyRunner 进行自动化测试(2)

发表于:2017-07-24来源:简书作者: 白帽子耗子点击数: 标签:MonkeyRunner
#以上三种事件做为press()参数或touch()参数 #按下HOME键 device.press( KEYCODE_HOME ,MonkeyDevice.DOWN_AND_UP) #按下BACK键 device.press( KEYCODE_BACK ,MonkeyDevice.DOWN_AND_UP) #按下下
#以上三种事件做为press()参数或touch()参数 #按下HOME键 device.press('KEYCODE_HOME',MonkeyDevice.DOWN_AND_UP) #按下BACK键 device.press('KEYCODE_BACK',MonkeyDevice.DOWN_AND_UP) #按下下导航键 device.press('KEYCODE_DPAD_DOWN',MonkeyDevice.DOWN_AND_UP) #按下上导航键 device.press('KEYCODE_DPAD_UP',MonkeyDevice.DOWN_AND_UP) #按下OK键 device.press('KEYCODE_DPAD_CENTER',MonkeyDevice.DOWN_AND_UP)

按下HOME键 device.press('KEYCODE_HOME',MonkeyDevice.DOWN_AND_UP)

home键 KEYCODE_HOME

back键 KEYCODE_BACK

send键 KEYCODE_CALL

上音量键 KEYCODE_VOLUME_UP

下音量键 KEYCODE_VOLUME_DOWN

power键 KEYCODE_POWER

camera键 KEYCODE_CAMERA

menu键 KEYCODE_MENU

更多:http://developer.android.com/reference/android/view/KeyEvent.html

键盘输入

#字符串发送到键盘 
#device.type('字符串')
device.type('Findyou')

滑动

#模拟滑动
#device.drag(X,Y,D,S)
#X 开始坐标
#Y 结束坐标
#D 拖动持续时间(以秒为单位),默认1.0秒
#S 插值点时要采取的步骤。默认值是10
device.drag((100,1053),(520,1053),0.1,10)

截屏

result=device.takeSnapshot()
#返回一个MonkeyImage对象(点阵图包装),我们可以用以下命令将图保存到文件
result.writeToFile('E:\\JAVA\\monkeyrunner\\Test1\\Test1_001.png','png')
#<path>\\<fileName>.png

实例

  1. 把你的 py 脚本放到 monkeyrunner 所在的目录

  2. 命令行进入该目录,输入命令:monkeyrunner.bat test.py


    testMonkeyrunner.png

    测试输出成功。

    如果提示monkeyrunner不是内部或外部命令,请回去配置环境变量。

  3. 手机获取模拟器打开开发者选项的指针位置功能,方便获取坐标。然后可以开始编写py脚本了。

    # -*- coding: utf-8 -*- 
    # 上面那句是为了支持中文注释。文件请保存 utf-8 格式免得出问题
    #引入模块
    from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice,MonkeyImage
    import time
    import os
    
    #连接设备
    device=MonkeyRunner.waitForConnection() 
    #启动Activity(此处为启动模拟器的浏览器)
    mPackageName = "com.android.browser"
    mActivityName = "com.android.browser.BrowserActivity"
    mRunComponent = mPackageName + "/" + mActivityName
    
    #获取时间
    def getNowTimeUnderline():
        return time.strftime("_%H_%M_%S" 
    
    
    
               

    原文转自:http://www.jianshu.com/p/93401c23451a