请Andorid测试高手解答:本人现在用monkeyrunner压力测试...

Android自动化测试之Monkeyrunner从零开始
<span type="1" blog_id="1655955" userid='
分享到朋友圈
好的文章,和好友一起分享奇葩小猪妹的其它豆列
&&&&&&&&&&&&博主最新文章
博主热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)关注51Testing
Android自动化测试之Monkeyrunner从零开始
发表于: 13:08 &作者:qingchunjun & 来源:51Testing软件测试博客
推荐标签:
  最近由于公司在组织一个Free CoDE的项目,也就是由大家自己选择研究方向来做一些自己感兴趣的研究。由于之前我学过一点点关于的东西,并且目前android开发方兴未艾如火如荼,但还基本上属于新兴领域,接触的人并不多,所以我给我们团队提出研究android自动化测试方面的项目,果然得到大家一致的赞同,大家的兴致都很高,呵呵。于是二话不说,我们开始看看现在android平台上现有的一些自动化测试工具。经过网上的一番搜索和,我了解目前android SDK里自带的现成的测试工具有monkey 和 monkeyrunner两个。大家别看这俩兄弟名字相像,但其实是完完全全不同的两个工具,应用在不同的测试领域。总的来说,monkey主要应用在压力和可靠性测试上,运行该命令可以随机地向目标程序发送各种模拟键盘事件流,并且可以自己定义发送的次数,以此观察被测应用程序的稳定性和可靠性,应用起来也比较简单,记住那几个命令就行了。而monkeyrunner呢,相比之下会强大一些,它主要可应用于,回归测试,并且可以自定义测试扩展,灵活性较强,并且测试人员可以完全控制。  好了,废话不多说,我们直接进入主题吧。之所以想把这个过程写下来,是由于经过我这段时间在网上的搜索和学习,发现关于monkeyrunner的教程极少,几乎都是把android官方材料自己翻译了一下摆上去的,对于第一次接触的同学来说,可能还不太详细。我在这里就想以完全初学者的角度出来,真正从0开始,记录我的学习过程。本文仅针对真正的菜鸟,大虾们请飘过哈,嘿嘿。  要使用Monkeyrunner,我们首先得干神马呢?当然得准备使用环境。这个不外乎就是我们得事先安装好android的SDK,配置好开发环境(如Eclipse),安装好Python(因为Monkeyrunner其实是由Jython写的,直接调用android API来整的)。这些步骤网上都有非常详细的教程,教大家手把手地搭环境,我这里就不多废话了。  环境搭好后,接下来就开始我们的使用之旅了。网上的monkeyrunner很多都直接从实例代码入手,写得很粗略,也没有把详细步骤说明下来,搞得我确实废了两三天才摸到头绪。所以我这里会写得很详细,尽量帮助大家能够轻易地看懂。详细步骤如下(在模拟器上运行,由于不知道什么原因图片不能正常显示,所以我还是直接写命令吧):  1. 用Elipse打开andorid的模拟器或者在CMD中用andorid命令打开模拟器,如下:  D:\Software\Android SDK2.3\android-sdk-windows\tools&emulator -avd AVD2.3.3  Comments: 定位到android SDK的路径下的tools目录,运行上面这个命令。“AVD2.3.3”是我的模拟器的名字,这个命令是每个人自己命名的,用的时候需改成实际的名字。  2. 这个时候,如果一切正常的话,模拟器应该可以启动起来了。(运行monkeyrunner之前必须先运行相应的模拟器,不然monkeyrunner无法连接设备。这点很多教程上都没有说,我也试了好多次才明白过来)。接着,我们打开另一个CMD窗口(前一个不要关),还是定位到tools目录,输入命令"monkeyrunner",回车,将进入命令交互模式。  好了,接下来就可以导入monkeyrunner所要使用的模块了。当然是我们的"From...import..."  直接在shell命令中输入: from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice& 回车  OK,这步完成之后,我们就可以开始和模拟器“勾兑”了,哈哈,命令如下:  device = MonkeyRunner.waitForConnection()  没有报错的话,就代表和模拟器勾兑成功,我们可以接着“骚扰”它了。接下来,我们可以在里面装点东西了。输入如下命令,并传入你的apk所在相对路径即可。我这安装的是著名的ApiDemos。成功了会返回true。如果没有返回true,一般都是语法错误或者你传入的相对路径有问题,仔细检查下就没问题了。  device.installPackage("../samples/android-10/ApiDemos/bin/Apidemos.apk")  接下来,我们就可以启动其中的任意activity了,只要传入package和activity名称即可。命令如下:  device.startActivity(component = "com.example.android.apis/com.example.android.apis.ApiDemos")  此时模拟器会自动打开ApiDemos这个应用程序的主页。  接下来我们还可以给模拟器发送更多的操作,如模拟任何按键时间和滚动等,并且可以截图。命令格式和上述命令类似,我就不再累述了。  当然,我们也可以不这样麻烦得一行行地输入命令,可以将从“from...import...”开始的所有后面的语句都写到一个python文件里面,例如 monkeyrunnerTest.py,然后我们再从命令行直接通过monkeyrunner运行它即可。比如,我们还是用上面的例子,语法如下:  D:\Software\Android2.3.3\android-sdk-windows\tools&monkeyrunner monkeyrunnerTest.py  接下来monkeyrunner会自动调用monkeyrunnerTest.py,并执行其中的语句,相当方便。  今天暂时先写到这里,今天主要的关键是明白了如何使得monkeyrunner和模拟器进行正确的连接和相关的操作,具体的monkeyrunner的方法和属性大家可以参考官方的文档,上面非常详细了,呵呵。版权声明:本文出自 qingchunjun 的51Testing软件测试博客:原创作品,转载时请务必以超链接形式标明本文原始出处、作者信息和本声明,否则将追究法律责任。
搜索风云榜
( 10:43:01)
Traceback (most recent call last):
& && &&&File &&stdin&&, line 1, in &module&
AttributeError:'com.android.monkeyrunner.MonkeyDevice'&&object has no attribute 'installpackage'
一般报这个错的都是执行路径问题,不要进入monkeyrunner模式执行py脚本,如果是monkeyrunner模式就要一行行命令来录入执行,如果你是把命令放py脚本,直接Dos模式执行就行了,否则会报上述错误
我用monkeyrunner运行py文件时为什么提示错误呢
mismatched input 'monkeyrunnertestig' expecting NEWLINE&&同样问题,py脚本应在dos模式下执行,不要进入monkeyrunner模式
( 10:52:03)
( 16:07:42)
好人,真心找不到教程,感谢~
( 10:58:43)
不错,先顶一个
( 12:10:32)
楼下的童鞋,请注意检查大小写哈。
( 10:45:47)
我在安装应用那一步通不过,提示错误如下:
Traceback (most recent call last):
& && &&&File &&stdin&&, line 1, in &module&
AttributeError:'com.android.monkeyrunner.MonkeyDevice'&&object has no attribute 'installpackage'
请问这是怎么回事?
( 10:09:00)
这是因为格式错误,你换行了,每句的开头与上一句直接不能出现空格
( 14:52:10)
没用过,应该要学。
( 15:14:17)
我用monkeyrunner运行py文件时为什么提示错误呢
mismatched input 'monkeyrunnertestig' expecting NEWLINE
51Testing官方微信
51Testing官方微博
测试知识全知道

我要回帖

更多关于 monkeyrunner测试实例 的文章

 

随机推荐