关闭

Android自动化测试初探(一): 捕获Activity上的Element

发表于:2010-6-21 12:07

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:roger_ge(CSDNBlog)    来源:51Testing软件测试网采编

  现将部分核心代码粘贴如下:

  1. Set adb location

  System.setProperty("hierarchyviewer.adb","E:\\ \\Android\\android-sdk-windows\\tools");

  其中”hierarchyviewer.adb” 这个key是hierarchyviewer.jar中指定的,后面的value是存放Android SDK的路径。这个目录必须是当前运行的模拟器所对应的adb的目录,不能自行使用其他目录下adb,否则会发生adb进程异常退出的错误。

  2. Get Active Device

  IDevice[] devices = null;

  DeviceBridge.terminate();

  while(null==devices || 0==devices.length){

  DeviceBridge.initDebugBridge() ;

  //it must wait for some time, otherwise will throw exception

  try {

           Thread.sleep(1000);

  } catch (InterruptedException e) {

  e.printStackTrace();

  }

  devices = DeviceBridge.getDevices() ;

  }

  return devices;

  以上方法返回的是所有当前运行的Device列表

  3. Start View Server 

  DeviceBridge.startViewServer(device); 

  4. Load Scene

  ViewHierarchyLoader.loadScene(device,Window.FOCUSED_WINDOW) ;

  5. Get Root View Node

  vhs.getRoot() ;

  其中vhs是ViewHierarchyScene的实例对象

  6. Get Sub View Node

  public ViewNode findFirstChildrenElement(IDevice device, ViewNode entryViewNode, String elementID){

              ViewNode node=null;

              if(0!=entryViewNode.children.size()){

                    for(int i=0;i<entryViewNode.children.size();i++){

                          node=entryViewNode.children.get(i);

                          if(node.id==elementID)

                                return node;

                          else

                                continue;

                    }

              }

              return node;}

  虽然上述步骤所涉及的代码量不多,但是花了一天多的时间才终究研究出来,写下此文希望对正在研究Android自动化测试的同学们有些帮助。

  到目前为止,Element已经得到了,接下去就是实现怎么去触发这些Element,如click button,enter text等等,尚需再慢慢研究,等有结果再贴出来分享!

22/2<12
《2023软件测试行业现状调查报告》独家发布~

精彩评论

  • skyline888
    2010-9-28 20:51:02

    System.setProperty("hierarchyviewer.adb","E:\\ \\Android\\android-sdk-windows\\tools");
    我在window下运行的时候提示
    09-28 12:45:21.677: INFO/System.out(645): 45:21 E/adb: Failed to get the adb version: Error running exec(). Command: [D:\android\android-sdk-windows\android-sdk-windows\tools/adb, version] Working Directory: null Environment: null
    帮忙解决一下,谢谢,急需!!

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号