广

android开发

  • IOS开发
  • android开发
  • PHP编程
  • JavaScript
  • ASP.NET
  • ASP编程
  • JSP编程
  • Java编程
  • 易语言
  • Ruby编程
  • Perl编程
  • AJAX
  • 正则表达式
  • C语言
  • 编程开发

    Android 自动化测试经验分享 UiObejct.getFromParent()的使用方法

    2018-04-06 10:40:27 次阅读 稿源:互联网
    广告

    1. UiObejct.getFromParent()的用法:从这个名字就知道,就是从当前对象的父对象中查找想要的子对象,该子对象和当前对象应该是同一层级。

    如上图所示:Max inactivity before lock是已知条件,4 minutes是我想动态获取的内容。那应该怎么做呢?

    先看看结构:TableLayout(curent index is 2) - TableRow(has several indexes) - TextView(has 2 indexes)。

    1.先获取TableLayout index为2的那个对象
    2.遍历TableLayout里面的TableRow,获取TableRow(i)里头的TextView(0)的text
    3.当TextView(1)的text内容为“Max inactivity before lock”,则可以确定我们所要的那个TableRow了。(其实就是找对应的index)
    4.然后我们就使用当前对象的getFromParent()方法去查找TextView(1)的text,这样就可以取到我们想要的值了。

    代码如下:

    //下面2步是获取TableLayout下面TableRow的数量
    UiObject allPasswordPolicies = new UiObject(new UiSelector().className("android.widget.TableLayout").index(2));
    int pwdcount = allPasswordPolicies.getChildCount();
    //遍历每一个TableRow
    for(int i = 0; i < pwdcount; i++) {
        UiObject passcodePolicyName = allPasswordPolicies.getChild(new UiSelector().className("android.widget.TableRow").index(i).childSelector(new UiSelector().className("android.widget.TextView").index(0)));

        //查找TableRow中index为0的TextView的值等于"Max inactivity before lock"的对象
        if(passcodePolicyName.getText().contains("Max inactivity before lock")) {

    //使用getFromParent()和getText()方法获取当前对象同级的TextView,index为1的那个对象的text值。passcodePolicyName.getFromParent等同于TableRow(1)对象
            String actualValue = passcodePolicyName.getFromParent(new UiSelector().className("android.widget.TextView").index(1)).getText();
            if(actualValue.equals(expectedValue)) {
                System.out.println(policyName  + " check: Pass.");
            } else {
                System.out.println(policyName  + " check: Failed.");
            }
        }
     }

    一起学吧部分文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与一起学吧进行文章共享合作。

    广告
    广告
    广告