android 自动化测试之MonkeyRunner学习(二)

发表于:2013-7-02 10:53

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:风泊海上    来源:51Testing软件测试网采编

  上次说到已经配好了MonkeyRunner的运行环境,现在讲解怎么进行简单的MonkeyRunner测试。这个拖了很久才有时间和心情总结一下。真是计划赶不上变化啊。

  就不说废话了。http://developer.android.com/tools/help/MonkeyDevice.html ,这个地址是android上的MonkeyRunner官方文档地址。上面关于MonkeyRunner的一些方法说的很详细。本篇不是详细解释MonkeyRunner方法的文章,只是根据我的理解,结合自己的一个例子讲解一下怎么使用MonkeyRunner写测试程序。

  MonkeyRunner工具共有三个类:MonkeyRunner、MonkeyDevice、MonkeyImage。

  一、MonkeyRunnner类:

  这个类主要用于把MonkeyRunner连接至真机或者模拟器,另外有个显示提示信息的alert方法和一个选择方法比较常用。

  二、MonkeyImage类:

  这个类主要是测试过程中,用来保存测试截图,把图片保存成各种格式,并且可以比较两个MonkeyImage对象。

  主要常用的有两个方法:writeToFile (string path, string format) ,这个是保存截图的位置,和命名,可以把图片保存到sdcard里面,也可以保存到电脑里面;sameAs (MonkeyImage other, float percent) ,这个用来比较两个截图是否相同,结果为boolean值。

  三、MonkeyDevice类:

  这个类的方法就多了一下,主要提供了安装和卸载程序包、启动一个活动及操作键盘等事件的方法。像里面的startActivity (string uri, string action, string data, string mimetype, iterable categories dictionary extras, component component, flags) 启动一个应用,press (string name, dictionary type)点击控件 ,touch (integer x, integer y, integer type)点击控件(通过坐标定位) ,drag (tuple start, tuple end, float duration, integer steps) 拖拉控件等等方法比较常用。

  MonekeyRunner这个测试工具用起来不算太难,下面给出一段代码简单解释一下:

  FetionTest.py

  #coding=utf-8    Python程序的第一句,添加这句使注释支持中文

  # 导入需要的MonkeyRunner的包,也可以是自己写的类,如果文件很多的话

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

  #连接真机,里面要写正确自己的真机对应的名字,cmd下命令下,可以用adb devices 看到

  devices1=MonkeyRunner.waitForConnection(5,"1234567890ABCDEF")

  #连接模拟器

  devices2=MonkeyRunner.waitForConnection(5,"emulator-5554")

  #启动飞信的主界面,这是我测的飞信程序,里面主要是配好飞信的包名和启动Activity

  devices1.startActivity
  (component = 'cn.com.fetion/.android.ui.activities.StartActivity')
  devices2.startActivity
  (component = 'cn.com.fetion/.android.ui.activities.StartActivity')

  #休眠8秒,便于帐号的登录

  MonkeyRunner.sleep(8.0)

  #点击我的好友一栏,这里使用的是坐标方法

  devices1.touch(202,258,"DOWN_AND_UP")

  #选中好友

  devices1.touch(222,326,"DOWN_AND_UP")
  devices1.touch(442,325,"DOWN_AND_UP")

  # 点击“加入黑名单”

  devices1.touch(223,563,"DOWN_AND_UP")

21/212>
《2023软件测试行业现状调查报告》独家发布~

精彩评论

  • 虎啸龙吟888
    2013-7-18 16:48:33

    卤煮 您好 我同时启动monkeyrunne_recorder.py和模拟器的时候monkeyrunner_recorder.py就会非常的卡,请问是怎么回事呢?

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号