zoukankan      html  css  js  c++  java
  • robotium获取android页面元素的逻辑

    先来看看android中页面元素的继承关系

    View

    android.view.View

    这个类表示用户界面组件的基本构建块。一个View占据屏幕上的一个矩形区域,并负责绘图和事件处理。
    View是widgets的基类,widgets用于创建交互式UI组件(按钮,文本框等)。
    ViewGroup子类是layouts的基类,layouts是不可见的容器包含其他Views(或其他的ViewGroup),并定义它们的布局属性。

    WebView

    java.lang.Object
       ↳ android.view.View
         ↳ android.view.ViewGroup
           ↳ android.widget.AbsoluteLayout
             ↳ android.webkit.WebView

    显示网页的View。这个类是你在你的Activity中,运行自己的网页浏览器或简单地显示一些网上的内容的基础。它使用了WebKit渲染引擎来显示网页,方法包括:历史的前进和后退导航,放大和缩小,执行文本搜索和更多。

    请注意,为了使你的Activity能访问Internet,在WebView中加载网页,你必须添加Internet权限到你的Android Manifest文件:

    <uses-permissionandroid:name="android.permission.INTERNET"/>

    必须是element.的子节点

     

    java.lang.Object
       ↳ android.view.View
         ↳

    android.widget.TextView

    再通过走读robotium的源码,我们可以知道robotium获取android元素的顺序:

    Robotium做自动化测试主要是使用class Solo中的方法,获取元素的顺序,根据类的继承关系依次为:View ->具体元素,如TextView、ImageButton等

    获取具体页面元素,通过Getter类中的getter.getView方法组,根据传递参数不同,调用的方法不一样,如果你传int id,那就通过activity.findViewById(id);方法

    如果是String id,使用targetContext.getResources().getIdentifier(id, "id", "android")方法获得viewId,再通过getView(viewId, index)

    public ImageButton getImageButton(int index)
     {
      return (ImageButton)getter.getView(android/widget/ImageButton, index);
     }

  • 相关阅读:
    观察者模式
    饿汉单例模式 and 懒汉单例模式
    解决hash冲突之分离链接法
    bat处理文件
    使用json-org包实现POJO和json的转换
    并发修改异常(ConcurrentModificationException)
    封装特效记录--持续更新
    vue loading组件
    vue授权页面登陆之后返回之前的页面
    vue 路由权限
  • 原文地址:https://www.cnblogs.com/zhitang2009/p/3425106.html
Copyright © 2011-2022 走看看