Resource_id和文本都相同的多个TextView定位问题

在Robotium写自动化的过程中,会遇到这样的情况,在一个屏幕显示页中,有多个TextView的resource_id是相同的,而且显示的Text也是变化的(如下图的“顶”),这种情况就没有办法用clickontext()函数来对其进行操作,而且还要验证操作后的结果,这时必须对TextView进行定位。

Resource_id和文本都相同的多个TextView定位问题

  我在网上查找了很多网站,并经过尝试,发现用getview方法可行,先定位到TextView,然后再用index标识是哪儿个TextView。例如:

//顶操作

       //1,获取现有的顶数

       view2=(TextView)solo.getView(TextView.class,10);

       content=view2.getText().toString();

       num=Integer.parseInt(content.substring(1, content.length()));

       //2,顶操作,然后判断数量是否加1

       view1=solo.getView(TextView.class,10);   

       solo.clickOnView(view1);

       solo.sleep(3000);

       view2=(TextView)solo.getView(TextView.class,10);

    assertEquals(""+(num+1),view2.getText());

代码详解:

  我们要验证顶操作,首先要获取操作前现在的顶数量,然后再进行顶操作,最后要验证顶数是否加1~!

获取TextView的方法是:view1=solo.getView(TextView.class,10);

第一个“顶”是第10TextView,这个需要通过定位和尝试才能得知是第几个!

此方法的优缺点:

优点:可以通过index定位View中的所有TextView,而且不受resouce_idTextView上面显示内容的影响。

缺点:此方法相当于相对定位,如果页面有变化,在要定位的元素前增加或是减少了TextView,当定位就失败了!

转载于:https://www.cnblogs.com/eagleking0318/p/6520945.html

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值