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


    Robotium写自动化的过程中,会遇到这样的情况,在一个屏幕显示页中,有多个TextViewresource_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,当定位就失败了!

    ----夫英雄者,胸怀大志,腹有良谋,有包藏宇宙之机,吞吐天地之志者也。
  • 相关阅读:
    ubuntu共享打印机
    vc常用技巧
    SipDroid
    MonkeyRunner使用小结
    Ubuntu12.04 开机启动菜单 删除多余的内核(旧版本) 调整不同操作系统的启动顺序
    安卓Android手机上邮箱的设置通用方法
    WCDMA PPP test
    unbunt配置环境变量
    书摘《FBI教你读心术》
    ms sql server 2000 全文索引
  • 原文地址:https://www.cnblogs.com/eagleking0318/p/6520945.html
Copyright © 2020-2023  润新知