Monkeyrunner 小白入门示例文章

很详细的Monkeyrunner入门示例,原文来自anikikun的分享;大家可以跟着练手,新技能Get!:

准备工作

1、安装Android SDK

2、熟悉MonkeyRunner的API(http://article.yeeyan.org/view/37503/164523)

3、一部Android手机或模拟器(手机与电脑连接,可以使用adb devices验证手机是否与电脑连接成功)

4、手机打开“指针位置”功能,可以方便我们定位坐标,打开方法:

SDK的安装过程我就不赘述了,直接开始一个简单的MonkeyRunner交互

1、 打开cmd,输入

monkeyrunner

,回车,出现如图情况,则进入了MonkeyRunner的交互对话环境

2、 输入

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

,回车,导入MonkeyRunner运行所需要的模块,没有报错则成功

3、 输入

device=MonkeyRunner.waitForConnection()

回车,使MonkeyRunner与设备进入连接状态,没有报错则成功

4、输入

device.installPackage(‘e:/hjclass.apk’)

,回车,安装放在e盘下的hjclass.apk文件到手机中,这个apk文件是我提前准备好的应用,若返回True则安装成功

5、 输入

device.startActivity(‘com.xx.xxx/.activity.xxxActivity’)

回车后可以直接看手机,如果APP被启动,则表示成功;

启动一个应用,其中(‘com.xx.xxx/.activity.xxxActivity’) 是APP的包名和启动Activity,这两个参数相当于Appium中需要用到的app-activity,可以问开发获取。也可以参考乙醇大大提供的方法:http://www.cnblogs.com/nbkhic/p/3806951.html

===分割线 以下均以我测试的应用为准,仅供大家参考 ====

6、 在启动APP后,我们可以看到第一个界面,我们获取当前界面“创建”按钮的坐标,如图,按住手机上的该按钮,可以在手机顶部看到该按钮的坐标为(454,702):

7、 回到cmd,我们输入

device.touch(454,702,’DOWN_AND_UP’)

回车后,就手机上就执行了点击的动作,我们可以看到手机上按钮被点击了。

8、 进入到了欢迎页,这时候我们需要进行滑动操作,就要获取滑动前的坐标、滑动后的坐标,以同样的方法,我们获取到滑动的初始坐标为(670,700),结束坐标为(200,700),因此我们在cmd中输入

device.drag((670,700),(200,700),3)

回车后观察手机,发现滑动成功。总共有三个欢迎页,所以该命令执行2次。

9、 到欢迎页最后一页,照旧,获得按钮的坐标,(400,1000),输入

device.touch(400,1000,’DOWN_AND_UP’)

进入到登录界面

10、 获取用户名栏上的坐标,坐标获取为(400,550),输入

device.touch(400,550,’DOWN_AND_UP’)

回车

11、 光标定位到用户名输入栏后,我们需要输入用户名,则在cmd中输入如下命令,

device.type(‘username’)

回车,type即输入文字

12、 用户名输入完,此时我们需要把光标定位到密码栏,获取到密码栏的坐标(430,430),输入

device.touch(430,430,’DOWN_AND_UP’)

13、 输入密码

device.type(‘password’)

回车

14、 照旧,获取登录按钮的坐标,并点击

到此为止,一个应用的安装、打开、滑动、输入、登录的操作全部操作完了。

我们回顾一遍,其实刚刚我们从交互开始,全部代码整合一遍,整合成一个Python文件,是可以一次性执行完的。

整理完后:

fromcom.android.monkeyrunnerimportMonkeyRunner,MonkeyDevice,MonkeyImage

device=MonkeyRunner.waitForConnection()

device.installPackage('e:/hjclass.apk')

device.startActivity(‘com.xx.xxx/.activity.xxxActivity’)

device.touch(454,702,'DOWN_AND_UP')

device.drag((670,700),(200,700),3)

device.drag((670,700),(200,700),3)

device.touch(400,1000,'DOWN_AND_UP')

device.touch(400,550,'DOWN_AND_UP')

device.type('username')

device.touch(430,430,'DOWN_AND_UP')

device.type('password')

device.touch(400,800,'DOWN_AND_UP')

打开一个编辑器,并将你刚刚交互中所写的代码写到里面去,然后保存成一个Python文件,比如保存名字为monkeyrunner.py,放的e盘根目录。

执行文件的方法:

1、 打开cmd

2、 输入e: ,然后回车

3、 输入monkeyrunner e:/monkeyrunner.py ,回车后代码就开始执行了

上面就代码就是一个简单的用例了,但是如果直接上面这段代码的话,会出现一些问题,因为上面的代码中没有等待时间,也许点击确定后,还没等手机反应过来,就已经执行了下一句代码了,导致用例执行失败。

所以我们要对这个代码进行修改,在操作当中插入等待时间:

fromcom.android.monkeyrunnerimportMonkeyRunner,MonkeyDevice,MonkeyImage

device=MonkeyRunner.waitForConnection()

device.installPackage('e:/hjclass.apk')

#启动应用,然后等待6秒钟

device.startActivity('com.hujiang.hjclass/.activity.SplashActivity')

MonkeyRunner.sleep(6)

#点击创建,然后等待2秒钟

device.touch(454,702,'DOWN_AND_UP')

MonkeyRunner.sleep(2)

#滑动欢迎页2次,滑动一次后等待2秒钟

device.drag((670,700),(200,700),3)

MonkeyRunner.sleep(2)

device.drag((670,700),(200,700),3)

MonkeyRunner.sleep(2)

#点击开始学习按钮,然后等待3两秒钟

device.touch(400,1000,'DOWN_AND_UP')

MonkeyRunner.sleep(3)

#点击用户名输入栏,等待1秒钟

device.touch(400,550,'DOWN_AND_UP')

MonkeyRunner.sleep(1)

#输入用户名,等待1秒钟

device.type('username')

MonkeyRunner.sleep(1)

#点击密码栏,等待1秒钟

device.touch(430,430,'DOWN_AND_UP')

MonkeyRunner.sleep(1)

#输入密码,等待1秒钟

device.type('password')

MonkeyRunner.sleep(1)

#点击登录按钮

device.touch(400,800,'DOWN_AND_UP')、

「软件测试的自我修养」每日精选推送,包括且不限于测试方法、技术、工具分享以及测试求职、笔试、面试心得微信搜索公众号“软件测试的自我修养”或直接扫描下方二维码关注,Uncle C为你答疑解惑,随着时间的积累,相信同学们能和公众号一起茁壮成长,追上那个曾经被寄予厚望的自己

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,417评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,921评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,850评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,945评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,069评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,188评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,239评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,994评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,409评论 1 304
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,735评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,898评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,578评论 4 336
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,205评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,916评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,156评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,722评论 2 363
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,781评论 2 351

推荐阅读更多精彩内容