Uiautomator 源码分析之控件获取

Uiautomator一个常用脚本     

   UiObject allAppsButton = new UiObject(new UiSelector().description("Apps"));  

    //   模拟点击所有应用按钮,并等待所有应用界面起来

        allAppsButton.clickAndWaitForNewWindow();

分析第一步源码跟踪:

1、new UiSelector().description("Apps")找控件封装成UiSelect对象

    public UiSelector description(String desc) {    
        return buildSelector(SELECTOR_DESCRIPTION, desc);    //SELECTOR_DESCRIPTION是一个常量,代表使用何种方式找控件
    }
    private UiSelector buildSelector(int selectorId, Object selectorValue) {
        UiSelector selector = new UiSelector(this);
        if (selectorId == SELECTOR_CHILD || selectorId == SELECTOR_PARENT)
            selector.getLastSubSelector().mSelectorAttributes.put(selectorId, selectorValue);    //找父控件或子控件
        else
            selector.mSelectorAttributes.put(selectorId, selectorValue);    //mSelectorAttributes是一个集合类,把查找类型和值都放进集合
        return selector;
    }    //新建一个UiSelect对象,包含了该集合

2、看clickAndWaitForNewWindow()

    public boolean clickAndWaitForNewWindow() throws UiObjectNotFoundException {
        Tracer.trace();
        return clickAndWaitForNewWindow(WAIT_FOR_WINDOW_TMEOUT);    //WAIT_FOR_WINDOW_TMEOUT超时时间
    }
    public boolean clickAndWaitForNewWindow(long timeout) throws UiObjectNotFoundException {
        Tracer.trace(timeout);
        Accessibili
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值