Monkeyrunner的使用--实例练习

首次接触monkeyrunner,作了一个小练习,记录下来为了方便本身之后的复习,有须要的朋友也能够参考一下。文章中有些地方可能理解的不对,请谅解。html

实例练习题:android

1、使用monkeyrunner完成以下操做:app

1.安装worktile App工具

2.启动worktile并截屏布局

3.在启动页进行5个动画页的滑动切换,每次都须要截屏动画

4.点击登陆按钮,进入登陆页面网站

5.卸载worktileui

 

前提准备:spa

1.Android模拟器设计

2.Android SDK已经在环境变量中配置好

3.从应用宝(专门下载apk的网站)下载worktile

========================正式开始============================

1.启动android模拟器,必定要先启动模拟器,才能进行下面的操做

 

2.先确认adb的端口号是否被其余程序的进程占用

--------adb是什么?adbandroid sdk中的一个工具,该工具能够直接操做管理andriod模拟器或真实的android设备                        

 1) 运行cmd,输入命令adb devices

 2) 若是显示adb server is out of date.killing,表示adb端口已经被其余程序的进程占领了,此时输入 adb nodaemon server ,查看adb端口号,通常状况下为5037

     再输入netstat -ano|findstr “5037”,能够看到占据端口号5037的进程,注意本地占据端口的pid,在任务管理器中kill

具体操做连接地址:http://jingyan.baidu.com/article/d621e8da0dee022865913fce.html

 3) 若是显示以下图,则正确

 

 

4)我是一直没有显示链接的设备,即192.168.56.101:5555   device 这行,最后关机重启,万能法宝

 

3.两种方式建立Python代码

 1)在sdk tools中自带monkeyrunner.bat 点击运行,就能够输入一行一行的代码

 2)将代码写在记事本中,文件扩展名改成.py,就变成.py文件啦

而后运行cmd,输入monkeyrunner  后面把文件直接拖入进来,以下图

 

4.具体代码

//导入一些须要的包

from com.android.monkeyrunner import MonkeyRunner

from com.android.monkeyrunner import MonkeyDevice 

from com.android.monkeyrunner.easy import EasyMonkeyDevice

from com.android.monkeyrunner.easy import By

//链接模拟器,若是一直链接没反应,多是端口被占领,返回第二步确认

device=MonkeyRunner.waitForConnection() 

 

//安装以前下载worktile,括号里是apk的地址

device.installPackage('F:/com.worktile_Worktile3.4.3_17.apk')

 

//启动worktile app,括号里是  app包名/activity,得到方式见下面图1

device.startActivity("com.worktile/com.worktile.ui.external.WelcomeActivity")

 

MonkeyRunner.sleep(1)

 

//第一个起始页截图

startPic=device.takeSnapshot()

//写入 存为图片地址

startPic.writeToFile('F:/startPic.jpg','jpg')

 

//滚动页第一张截图

pic1=device.takeSnapshot()

pic1.writeToFile('F:/pic1.jpg','jpg')

 

//滚动页第二张截图

pic2=device.takeSnapshot()

pic2.writeToFile('F:/pic2.jpg','jpg')

 

//滚动页第三张截图

pic3=device.takeSnapshot()

pic3.writeToFile('F:/pic3.jpg','jpg')

 

//滚动页第四张截图

pic4=device.takeSnapshot()

pic4.writeToFile('F:/pic4.jpg','jpg')

 

//滚动页第五张截图

pic5=device.takeSnapshot()

pic5.writeToFile('F:/pic5.jpg','jpg')

 

 

 

/*

*点击登陆按钮,跳至登陆页面

如何得到登陆按钮的id

*----双击android sdk tools里的hierarchyviewer.bat(hierarchy viewer 能够看到页面布局,

*   得到控件属性,更好的检视和设计用户界面),如图1,加粗部分表示当前页,双击加

*   粗部分,如图2,具体操做可百度

*/

 

 

                             图1

 

 

 

                            图2

 

easy_device=EasyMonkeyDevice(device)

 

//得到登陆按钮的id,按下去

easy_device.touch(By.id('id/btn_login'),MonkeyDevice.DOWN_AND_UP)

MonkeyRunner.sleep(5)

 

//卸载app,括号里是app的包名,注意app的包名不是apk的名字哦

device.removePackage('com.worktile')

 

 

====================结束====================================

相关文章
相关标签/搜索