monkeyrunner是利用Python编写执行脚本进行UI自动化测试,模拟用户的操作:

   1,  新建脚本文件monkey.py


android界面自动化测试工具monkeyrunner_android

2,执行脚本:monkeyrunner monkey.py (将monkey.py放到sdk的tools目录下执行)

3,记录自己的操作,然后导出脚本:

   执行: D:\SDK\android-sdk_r08-windows\android-sdk-windows\tools>monkeyrunner monkey_recorder.py

  会弹出界面: 

   

android界面自动化测试工具monkeyrunner_文件名_02

     

monkeyrunner monkey_playback.py 导出的脚本文件名.mr,之后设备就会按照之前的操作再做一次。

列出常用的代码:

1. #导入模块; 
    from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice, MonkeyImage 

2. #连接当前设备,并返回一个MonkeyDevice对象; 



#第一个参数为等待连接设备时间


#第二个参数为具体连接的设备


device = mr.waitForConnection( 1.0 , 'emulator-5554' )


    if not device: 


        print "Please connect a device to start!" 


    else: 


        print "Start " 


    


3. #安装Android包,注意,此方法返回的返回值为boolean,由此可以判断安装过程是否正常 ; 


    device.installPackage('myproject/bin/MyApplication.apk') 



device.removePackage ('com.example.android.notepad') 


print ('卸载成功') 


device.installPackage('ApiDemos.apk') 


print ('安装成功') 



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") 



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


按下BACK键     device.press('KEYCODE_BACK','DOWN_AND_UP') 


按下下导航键     device.press('KEYCODE_DPAD_DOWN','DOWN_AND_UP') 


按下上导航键     device.press('KEYCODE_DPAD_UP','DOWN_AND_UP') 


按下OK键      



device.press('KEYCODE_DPAD_CENTER','DOWN_AND_UP') 


         



相应的按键对应的名称如下: 



home键:KEYCODE_HOME 


back键:KEYCODE_BACK 


send键:KEYCODE_CALL 


end键:KEYCODE_ENDCALL 


上导航键:KEYCODE_DPAD_UP 


下导航键:KEYCODE_DPAD_DOWN 


左导航:KEYCODE_DPAD_LEFT 


右导航键:KEYCODE_DPAD_RIGHT 


ok键:KEYCODE_DPAD_CENTER 


上音量键:KEYCODE_VOLUME_UP 


下音量键:KEYCODE_VOLUME_DOWN 


power键:KEYCODE_POWER 


camera键:KEYCODE_CAMERA 


menu键:KEYCODE_MENU