使用uiautomator选择一个微调元素

时间:2017-02-11 03:17:07

标签: android ui-automation uiautomator

我尝试了多种选择。对我来说都没有用。是否可以使用uiautomator选择微调器的元素?

代码示例:

UiObject spinner = mDevice.findObject(new UiSelector().className("android.widget.Spinner")
            .instance(0));

        try {
             Integer cnt = spinner.getChildCount();
             if (cnt > 0) {
                 UiObject item = spinner.getChild(new UiSelector().index(cnt-1));
                 item.click();
             }
        } catch (UiObjectNotFoundException e){}

2 个答案:

答案 0 :(得分:1)

此代码段将从Spinner

中选择一个项目
    (new UiScrollable(new UiSelector().resourceId("com.dtmilano.android.demoapplication:id/spinner").index(1).packageName("com.dtmilano.android.demoapplication"))).click();
    List<UiObject2> children = mDevice.findObjects(By.res("android:id/text1").pkg("com.dtmilano.android.demoapplication"));
    for (UiObject2 uio2 : children) {
        if ("New Zealand".equals(uio2.getText())) {
            uio2.click();
            break;
        }
    }

它使用示例活动,其中Spinner显示国家/地区

enter image description here

第一部分是由Enumerate ChildrenCulebraTester功能自动生成的。

答案 1 :(得分:0)

一个人可以选择getStringFromNetwork,但没有参数By.res(即packageName):

android