51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 1864|回复: 0
打印 上一主题 下一主题

monkeyrunner生成帮助手册的方法

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-3-11 15:54:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1.其实Monkeyrunner自身是带有帮助手册的,里面有所有API的说明,可以输出为HTML或者TXT格式的文档。这对于我们学习来说,已经足够了。可是,这个帮助文档在哪呢?根据Android developer网站上的说明,我们可以用这个命令来生成API reference手册:
  1. monkeyrunner<format>help.py<outfile>
复制代码

其中,format可以是HTML和TXT。outfile就是咱们输出文档的路径。OK,说做咱就做,比如我们运行 monkeyrunner html help.py "mrapi.html",回车。咦,报错了?Can't open sepcified script. 不对啊,这照着做也出错,这不坑die吗?是的,这次google似乎是估计留了个陷阱在这。在monkeyrunner的路径里面确实找不到help.py这个文件,不报错那就是SDK有错了。那该肿么办呢?我们可以看看monkeyrunner的源码,在Monkeyrunner.java中,可以看到静态的help方法可以生成所有帮助的字符串,那么可不可以利用这个方法来生成API帮助文档呢?实践证明是可以的。代码很简单,如下:
  1. from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice
  2. content = MonkeyRunner.help("text");
  3. f = open('help.txt', 'w');
  4. f.write(content);
  5. f.close();
复制代码

如果要生成html的话,替换第二行的参数为html,并将第三行的help.txt改为html即可。完毕后,我们可以保存为help.py文件(为方便起见我们最好将该文件放到monkeyrunner.bat同一目录)。然后我们直接运行 monkeyrunner help.py,等待2,3秒钟,OK,运行完毕,help.txt是不是已经在你眼前了?呵呵,好好看看吧,所有API函数都在里面了。其实大家如果不想生成文档,想看在线的,也是可以的,android developer上都有,个人所爱吧。

2.另外还有一个问题是,有童鞋使用MonkeyImage的sameAs方法老是出错,我自己试了试,确实要出错,错误提示是:不能将IChimpImage对象转换为IMonkeyImage对象时要出错。再次查看源码,MonkeyImage.java中的sameAs函数有这么一个注释:// TODO: check if thisconversion works

IChimpImage ther = (IChimpImage) otherObject.__tojava__(IChimpImage.class);

看来明显google的工程师还没有验证过这个转换的正确性,并且很杯具地失败了。哎,真是天意弄人。幸好,有万能的python在,我们还是有办法滴。建议大家使用python的PIL库进行图片比较,一样可以达到非常好的效果并且要稳定很多。


3.还有一个常见的问题是模拟按键时的press方法,比如我们要模拟按一下向下键,本来可以这样写:device.press('KEYCODE_DPAD_DOWN', 'DOWN_AND_UP')但大家会发现要报错,并且是很奇怪的错: TypeError: press: The 3rd argument is required. 咋会这样呢?再看看MonkeyDevice的源码,原来DOWN_AND_UP是MonkeyDevice的静态字符串成员,应该是可以直接调用的。我们再换成 device.press('KEYCODE_DPAD_DOWN', MonkeyDevice.DOWN_AND_UP)

这下终于OK了,呵呵。


4还有一个常见的问题是,能否将monkeyrunner集成到eclipse中?答案是看你使用什么平台。如果是linux环境下,那没问题,完全可以,具体操作可以看看国外有个高手写的博客,需翻墙:http://dtmilano.blogspot.com/201 ... r-from-eclipse.html 但如果你是用的window环境,那情况似乎就没有那么乐观了。因为google没有提供在windows环境下用于eclipse的monkeyrunner解释器,所以...基本上是8可能配置的,除非哪个高手将这个解释器做出来,呵呵。还是辛苦点,手写吧,也有利于真正锻炼大家的编程能力。

Monkeyrunner是基于python的脚本自动化工具,虽然有一定的局限性,不过使用起来确实入门门槛较低,大家看看帮助,自己利用ApiDemos的example做例子多练练,应该还是可以很快入门的。


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-5-3 17:11 , Processed in 0.064320 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表