啄木鸟专吃虫,故名啄木鸟。
全部博文(67)
分类: Android平台
2014-05-26 15:43:05
新手辛辛苦苦写的一点东西,说我打广告,把我的删了。木有办法。复制了一篇记录一下,免得忘记:
1. EasyMonkeyDevice提供了根据ID进行touch,type,locate,getText的方法.
2. By提供了根据ID返回PyObject的方法,使用EasyMonkeyDevice和By的配合可以利用ID做很多事情.
3. HierarchyViewer提供了根据ID找到ViewNode,对viewnode的一些操作等
4. ViewNode类的一个对象就代表了一个控件.控件上的所有属性,包括mID,mText,height,width都可以从这个类得到
最基本的操作
device = MonkeyRunner.waitForConnection() #等待设备的连接
easy_device = EasyMonkeyDevice(device) #得到一个EasyMonkeyDevice对象
hierarchy_viewer = device.getHierarchyViewer()#得到一个HierarchyViewer对象
基本上所有的程序都会用到这几个对象来对控件进行操作
1.输入框的ID写法:
easy_device.type(By.id('id/name_text),'zhangsan')
2.复选框/单选/按钮的ID写法:
easy_device.touch(By.id('id/login_button'),MonkeyDevice.DOWN_AND_UP)
3.当两个ID名称相同时,可以使用层级进行定位
easy_device.touch(By.id('id/parent_button'),MonkeyDevice.DOWN_AND_UP,By.id('id/current_button'),MonkeyDevice.DOWN_AND_UP)
4.几种得到控件上的文字的方法
1. 用id通过By来获取:text=easy_device.getText(By.id('id/text'))
2. 先获得ViewNode:viewnode = hierarchy_viewer.findViewById('id/text')
再调用HierarchyViewer的方法:text=hierarchy_viewer.getText(viewnode)
3. 直接从ViewNode的属性表中得到:text=viewnode_text.namedProperties.get("text:mText").value