Android之UiAutomator测试框架源码分析(第二十四篇:ByMatcher相关功能介绍)

(注意:本文基于UI Automator测试框架版本为2.2.0)

    ByMatcher类是UI Automator自动化测试框架的重要组成类,该类提供的功能用于定位控件(查找控件),平时我们是不会直接使用ByMatcher对象!ByMatcher类的主要用户是UiDevice、UiObject2,因为它们可以用来查找控件,话不多说,一起学习一下ByMatcher的设计!

 

类结构介绍

class ByMatcher {
}

完全独立的一个类,父类是Object

 

类变量介绍

    private static final String TAG = ByMatcher.class.getSimpleName();

用于Debug输出,作为tag使用

 

实例变量介绍

    private UiDevice mDevice;
    private BySelector mSelector;
    private boolean mShortCircuit;

ByMatcher对象持有的3个实例变量

1、mDevice,持有一个表示设备的UiDevice对象

2、mSelector,持有一个用于查找控件的BySelector对象

3、mShortCircuit,持有一个标志位,表示查找控件的规则,若为true时,则查找控件时,只要找到一个匹配的控件,就会返回给调用者,不再继续查找控件

 

ByMatcher构造方法分析

    private ByMatcher(UiDevice device, BySelector selector, boolean shortCircuit) {
        mDevice = device;
        mSelector = selector;
        mShortCircuit = shortCircuit;
    }

将传入的UiDevice对象、BySelector对象、boolean值分别赋值为ByMatcher对象持有的3个实例变量中,表示对象初始化完成

 

两个静态方法(对外提供)

1、findMatches()方法,用于查找多个控件

2、findMatch()方法,用于查找单个控件

 

重载的实例方法findMatchers(对内使用)

1、findMatches(1个参数)

2、findMatches(5个参数)

 

重载的实例方法checkCriteria(根据给定的条件与控件的属性进行匹配)

 

两个静态内部类

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值