快捷搜索:  as  2018  FtCWSyGV  С˵  test  xxx  Ψһ  w3viyKQx

葡京娱乐场娱乐网址:android 自动化测试之MonkeyRunner学习(二)



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

就不说废话了。http://developer.android.com/too葡京娱乐场娱乐网址ls/help/MonkeyDevice.html ,这个地址是android上的MonkeyRunner官方文档地址。上面关于MonkeyRunner的一些措施说的很具体。本篇不是具体解释MonkeyRunn葡京娱乐场娱乐网址er措施的文章,只是根据我的理解,结合自葡京娱乐场娱乐网址己的一个例子解说一下怎么应用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-8Python法度榜样的第一句,添加这句使注释支持中文

# 导入必要的MonkeyRunner的包,也可所以自己写的类,假如文件很多的话

fromcom.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")

# 下面是进行截图,和保存图片

result1 = device1.takeSnapshot()

result1.writeToFile('E:\slack01.png','png')

#点击返回键,可以找到模拟器上任何一个建对应的关键值,这个在官方文档里可以查到

device1.press('KEYCODE_BACK',MonkeyDevice.DOWN_AND_UP)

result2 = device1.takeSnapshot()

result2.writeToFile('E:\slack02.png','png')

这个法度榜样就简单说这些,别的可以对自己的法度榜样进行优化,可以把不合的测试case封装到一个措施里,也可以把一些设置设置设备摆设摆设设置玉成局变量,然后在不合的类里进行调用。这些必要简单懂得一下Python的编程常识。

下面说一个对照好用的获取坐标的对象。便是用来获取真机上坐标的对象,当我们点击真机上的空间时,能显示真机上的点击点的坐标。

这个是一个可以自己定义的python文件,只有几句话:

from com.android.monkeyrunner import MonkeyRunner as mr

from com.android.monkeyrunner.recorder import MonkeyRecorder as recorder

# 里面添加你的真机的名字

device = mr.waitForConnection(5,"MSM8225QRD5")

recorder.start(device)

比如,我把它定义为monkey_recorder.py, 然后放在G盘,在cmd下运行 monkeyrunner monkey_recorder.py ,就会呈现如下界面:

当我们在这个对象上点击时,真机也会随着履行,并且会显示每一步我们点击的位置的坐标,比如,我点击打开音乐播放器会记录如下:

这个对象的好只有处你用过几回才知道的,呵呵,反正有些利用法度榜样里很小的图标只能经由过程坐标获取点击事故,这个对象的上风就显示出来了。别的,必要留意,这个是不能用来获取模拟器坐标的,模拟器上的坐标只有自己下个截图对象,来量取坐标了。这一点确凿很蛋疼。

软件对象都是这样,没有绝对的便利。MonkeyRunner也不例外。呵呵,这一次就写这么多吧,这个对象简单的应用先容的也差不多了,更多的还必要自己去摸索,熟能生巧嘛。盼望大年夜家能多多分享,多多交流。

出处

您可能还会对下面的文章感兴趣: