Chinaunix首页 | 论坛 | 博客
  • 博客访问: 104448
  • 博文数量: 67
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 577
  • 用 户 组: 普通用户
  • 注册时间: 2014-04-16 09:51
个人简介

啄木鸟专吃虫,故名啄木鸟。

分类: 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

  




阅读(1437) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~