在robotium中使用ID

在robotium中api中不提供使用id的方式。
如果我们想在robotium中使用id就需要自己通过id来找到控件的实例,然后通过robotium的api对实例进行操作来达到目的。
当然了。如果有童鞋有兴趣也可以自己将这个封装起来以便使用。
在说方法之前,我不得不先说说id的几种形式:
1.字符串形式。例如id/btn_Example我们在源码的布局里面写的,HierarchyView中看见的,都是这种。
2.数字形式。例如0x7f070012,我们可以打开R.java。里面就体现了String形式和int形式的对应关系。
在白盒测试中,我们可以直接使用R.id的形式来调用:
Java code ?
1
2
View view=solo.getView(R.id.btn_Example); //获取View
solo.clickOnView(view); //点击

但是在黑盒测试中,R.id不可见,那么我们该如何使用呢?
Java code ?
1
2
3
4
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); //点击

这里是我自己封装的一个方法:
Java code ?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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 ;
     }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值