zoukankan      html  css  js  c++  java
  • [转载]在Robotium中使用ID

    原文地址:在Robotium中使用ID作者:逍遥云翳

    在Robotium的API中不提供使用ID的方式。
    如果我们想在Robotium中使用ID就需要自己通过ID来找到控件的实例,然后通过Robotium的API对实例进行操作来达到目的。
    当然了。如果有童鞋有兴趣也可以自己将这个封装起来以便使用。
    在说方法之前,我不得不先说说ID的几种形式:
    1.字符串形式。例如id/btn_Example我们在源码的布局里面写的,HierarchyView中看见的,都是这种。
    2.数字形式。例如0x7f070012,我们可以打开R.java。里面就体现了String形式和int形式的对应关系。
    在白盒测试(有源码)中,我们可以直接使用R.id的形式来调用:
    [code=java]View view=solo.getView(R.id.btn_Example);//获取View
    solo.clickOnView(view);//点击[/code]
    但是在黑盒测试(只有APK)中,R.id不可见,那么我们该如何使用呢?
    [code=java]
    Activity act=solo.getCurrentActivity();//获取Activity
    int id=act.getResources().getIdentifier("btn_Example", "id", act.getPackageName());//通过String的id获取int的id
    View view=act.findViewById(id);//获取View
    solo.clickOnView(view);//点击
    [/code]
    这里是我自己封装的一个方法:
    [code=java]
    private boolean clickById(String id) throws Exception{
      if(id==""){
       return false;
      }
      try{
       Activity act=solo.getCurrentActivity();//获取当前Activity
       int id=act.getResources().getIdentifier(id, "id", solo.getCurrentActivity().getPackageName());//获取id
       View view=solo.getView(id);//得到View
       solo.clickOnView(view);//点击
      }catch(Exception ex){
       Log.e("Exception", ex.getMessage());
       throw ex;
      }
      return true;
     }
    [/code]

  • 相关阅读:
    第十一周学习总结
    个人冲刺——(六)
    第二阶段冲刺—第二天
    软件工程第十四周总结
    第二阶段冲刺—第一天
    大道至简阅读笔记02
    输入法用户体验评价
    软件工程第十三周总结
    人机交互-水王
    大道至简阅读笔记01
  • 原文地址:https://www.cnblogs.com/songzhenhua/p/9312794.html
Copyright © 2011-2022 走看看