一天一个关于测试知识点,5分钟内讲解你最关心的软件测试问题,今天就接着来谈谈关于软件测试中的“UiSelector类介绍(三)”。
UiObject2类介绍
UiObject2类是UiObject的升级类,在某些设备上还无法运行,在这里仅做简单的介绍。
UiObject2的定义方法如下。
instrumentation = InstrumentationRegistry.getInstrumentation();
mDevice = UiDevice.getInstance(instrumentation);
mDevice.pressHome();
UiObject2 UiObject2=mDevice.findObject(By.desc("Apps"))
表4-31是UiObject2类的所有API。
关于UiObject的使用方法请参看案例4-17。
UiCollection类介绍
UiCollection是UiObject的子类,用来表示一个父控件,该控件下包含了子元素的集合。
一般使用一个容器类控件作为UiCollection对象,再通过两个条件来准确定位到UiCollection对象下的子元素(包含子孙元素)。
通过UiCollection,可以获取到某一控件下的某一个子控件 或者 获取其子控件的数目(包含子孙元素)。
UiCollection的定义方法如下。
UiCollection mUiCollection = new UiCollection(UiSelector Object);
(1)从集合中查找对象
从集合中查找对象API如表4-32所示。
案例4-27:从集合中查找对象。
UiCollection collection = new UiCollection(new UiSelector().resourceId(resid_radioGroup));
UiSelector childPattern = new UiSelector().className("Android.widget.RadioButton");
UiObject radioBtn1 = collection.getChildByInstance(childPattern,1);
(2)获取某种搜索条件组件的数量
获取某种搜索条件组件的数量API如表4-33所示。