【Appium】通过classname操作控件

例如,需要操作如下控件,id不存在

可以通过如下代码实现操作,get(i)为获取到的index,这个和在ui antomator中看到的index=2不是同一个值;

        List<MobileElement> InputName_text = (List<MobileElement>) driver.findElementsByClassName("android.widget.EditText");
        InputName_text.get(0).clear(); 

如果需要轮循获取控件的操作权限:

例如像这种:

通过如下代码实现:

        List<MobileElement> checkedTextViews = (List<MobileElement>) driver.findElementsByClassName("android.widget.CheckedTextView");
        //使用for循环将list中的每个单选按钮进行遍历,查到name值为“Ruby”的单选按钮,如果该单选按钮未处
        //于选中状态,则调用click方法进行选择
        for(MobileElement checkedTextView:checkedTextViews) {
            if (checkedTextView.getAttribute("name").equals("Volvo")) {
                if (!checkedTextView.isSelected()) {
                    checkedTextView.click();
                     break;
                }    
            }
        }           

  

posted @ 2019-07-16 17:07  fy-  阅读(615)  评论(0)    收藏  举报