微信号:grzlwx

介绍:光荣之路官方资讯

【Android测试】MonkeyRunner的初识(二)

2015-11-05 22:25 carter_d

吴老的《selenium webdriver 实战宝典》出版了!

相关阅读:【Android测试】MonkeyRunner的初识(一)

脚本


  当然上面的步骤我们可以将它写到脚本里,然后去运行这个脚本,前面提到脚本的语言是Python,所以我们就将以下代码写到一个Python脚本中。

# Imports the monkeyrunner modules used by this program
from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice

# 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
# to see if the installation worked.
device.installPackage('/sdcard/qq.apk')

# sets a variable with the package's internal name
package = 'com.tencent.mobileqq'

# sets a variable with the name of an Activity in the package
activity = 'com.tencent.mobileqq.activity.SplashActivity'

# sets the name of the component to start
runComponent = package + '/' + activity

# Runs the component
device.startActivity(component=runComponent)

# Presses the Menu button
MonkeyRunner.sleep(2)
device.press('KEYCODE_MENU', MonkeyDevice.DOWN_AND_UP)

# Takes a screenshot
MonkeyRunner.sleep(2)
result = device.takeSnapshot()

# Writes the screenshot to a file
MonkeyRunner.sleep(2)
result.writeToFile('c:\shot1.png','png')

  将脚本内容保存到Python文件qq.py当中。

  将脚本放到monkeyrunner的同级目录下,直接运行“monkeyrunner qq.py”,就可以完成整个过程。

  学会了基本用法之后,你就可以根据你们自己的业务,结合monkeyrunner更加丰富的API写出更加复杂的脚本,通过这种方法来进行运行。

API


  提供一些常用的API(上面例子中不再赘述了)

  1、指定设备连接:

  等待连接到设备,与模拟器连接,返回monkeydevice对象,代表连接的设备。没有报错的话说明连接成功。
  参数1:超时时间,单位秒,浮点数。默认是无限期地等待。
  参数2:串deviceid,指定的设备名称。
  例子:device = mr.waitForConnection(1.0,'emulator-5554')

  2、运行shell命令:

  执行一个adb shell命令,如果有结果的话,返回结果
  例子:device.shell("...")

  3、唤醒设备:

  例子:device.wake()

  4、给指定位置发送触摸事件:

  参数1、2:屏幕的横纵坐标

  参数3:触摸事件(共三种):DOWN、UP、DOWN_AND_UP

  device.touch(x,y,TouchPressType)

  例子:device.touch(300,200,MonkeyDevice.DOWN_AND_UP) 在屏幕坐标300,200的地方按下并且抬起

  5、发送指定键的事件:

  参数1:http://developer.android.com/reference/android/view/KeyEvent.html 例如 KEYCODE_HOME(home键),KEYCODE_BACK (back键)

  参数2:触摸事件

  例子:device.press('KEYCODE_HOME',MonkeyDevice.DOWN_AND_UP) 按下并抬起home键

  好!monkeyrunner的暂且到此为止,如有疑问,给我留言即可....

(完)

(作者:carter_dream 来源:http://www.cnblogs.com/by-dream/p/4836815.html)


 
            
 
            
 
            
 
           
 
           
 
           
 
           
 
           
 
           
 
           
 
           
 
           
 
           

感谢作者,传播测试知识、技能与正能量!
分享测试生活,思考测试人生!欢迎来稿735821166@qq.com

光荣之路软件测试培训

官网:http://www.gloryroad.cn/

微信公众号:gloryroadtrain

性能测试QQ群:415987441
软件测试招聘QQ群: 203715128
自动化3群QQ: 371211499

 
光荣之路 更多文章 今天晚上的 linux 公开课- Awk 编程 7月28日(今天)晚上的 linux 公开课- shell编程 8月4日(今天)晚上的 linux 公开课- shell编程 9月1日(本周一)晚8点半,光荣之路Web自动化系列基础课—javascript第二讲 推荐本好书《与机器赛跑》
猜您喜欢 揭秘比特币和区块链(四):比特币的交易 [源码阅读] RACTuple 单点系统架构的可用性与性能优化 ​解决ScrollView嵌套ListView和GridView冲突的方法 2016 OpenPOWER开发者挑战赛盛大启幕,等你来宣战!