您的位置:首页 > 产品设计 > UI/UE

UiAutoMator一些常用的方法

2016-02-24 16:37 489 查看
常用查找UiObject方法

// 通过ID查找
public static UiObject findById(String text)
throws UiObjectNotFoundException {
UiObject appBtn = new UiObject(new UiSelector().resourceId(text));
return appBtn;
}

例如:UiObject search_src_text =findById("com.android.contacts:id/search_view")

// 通过resource和description查找
public static UiObject findByResourceIdAndDesc(String className, String text)
throws UiObjectNotFoundException {
UiObject appBtn = new UiObject(new UiSelector().resourceId(className)
.description(text));
return appBtn;
}

例如:UiObject back_camera = findByResourceIdAndDesc(
"com.android.camera2:id/camera_toggle_button","Play video");

// 按Text Contains定位
public static UiObject findByTextContains(String text) {
UiObject getItem = new UiObject(new UiSelector().textContains(text));
return getItem;
}

例如:UiObject notice = findByTextContains("Remember photo locations");

// 通过resource和index查找
public static UiObject findByResourceIdAndIndex(String className, int index)
throws UiObjectNotFoundException {
UiObject appBtn = new UiObject(new UiSelector().resourceId(className)
.index(index));
return appBtn;
}

例如:UiObject back_camera = findByResourceIdAndIndex(
"com.android.camera2:id/camera_toggle_button",0);

// 通过ID,instance查找
public static UiObject findByIdInStance(String text, int index)
throws UiObjectNotFoundException {
UiObject appBtn = new UiObject(new UiSelector().resourceId(text)
.instance(index));
return appBtn;
}

例如:UiObject back_camera = findByIdInStance(
"com.android.camera2:id/camera_toggle_button",1);

// 按照className查找UiScrollable;
public static UiScrollable findUiScrollableByClassName(String className)
throws UiObjectNotFoundException {
UiScrollable scrItem = new UiScrollable(
new UiSelector().className(className));
return scrItem;
}

// 通过source和text查找
public static UiObject findByResourceIdAndText(String text1, String text2)
throws UiObjectNotFoundException {
UiObject appBtn = new UiObject(new UiSelector().resourceId(text1).text(
text2));
return appBtn;
}

例如:UiObject mode = findByResourceIdAndText(
"com.android.camera2:id/selector_text", "text");

// 通过source和text查找
public static UiObject findByResourceIdAndTextContains(String resourceId, String textContains)
throws UiObjectNotFoundException {
UiObject appBtn = new UiObject(new UiSelector().resourceId(resourceId).textContains(
textContains));
return appBtn;
}

例如:UiObject mode = findByResourceIdAndTextContains(
"com.android.camera2:id/selector_text", "text");

// 按照className和index在UiScrollable中查找
public static UiScrollable findUiScrollableByClassNameAndInstance(
UiScrollable uiScrollable, String className, int index)
throws UiObjectNotFoundException {
UiScrollable scrItem = new UiScrollable(new UiSelector().className(
className).instance(index));
return scrItem;
}

// 获取UiCollection中的子对象的个数
public static int findChildCountFromUiCollectionByClassName(
UiCollection uiCollection, String className)
throws UiObjectNotFoundException {
return uiCollection
.getChildCount(new UiSelector().className(className));
}

// 在UiScrollable中通过className和instance查找
public static UiObject findFromUiScrollableByClassNameAndInstance(
UiScrollable uiScrollable, String className, int index)
throws UiObjectNotFoundException {
return uiScrollable.getChild(new UiSelector().className(className)
.index(index));
}

// 按className定位Scrollable
public static UiScrollable findScrollableByClass(String className) {
return new UiScrollable(new UiSelector().className(className));
}

// 按resource定位Scrollable
public static UiScrollable findScrollableByResource(String text) {
return new UiScrollable(new UiSelector().resourceId(text));
}

// 从UiScrollable得到子对象,通过className和instance
public static UiObject findChildFromUiScrollableByClassNameAndInstance(
UiScrollable scrollable, String className, int instance)
throws UiObjectNotFoundException {
return scrollable.getChild(new UiSelector().className(className)
.instance(instance));
}

// 从UiScrollable得到子对象,通过TEXT
public static UiObject findChildFromUiScrollableByText(
UiScrollable scrollable, String text)
throws UiObjectNotFoundException {
return scrollable.getChild(new UiSelector().text(text));
}

// 获得collection对象中的子元素个数,以className作为筛选标准
public static int findChildCountFromCollection(UiCollection collection,
String className) {
return collection.getChildCount(new UiSelector().className(className));
}

// 在UiScrollable中通过className查找
public static UiObject findFromUiScrollableByClassName(
UiScrollable uiScrollable, String className)
throws UiObjectNotFoundException {
return uiScrollable.getChild(new UiSelector().className(className));
}

// 通过resource查找UiCollection
public static UiCollection findUicollectionByResource(String text)
throws UiObjectNotFoundException {
UiCollection uiCollection = new UiCollection(
new UiSelector().resourceId(text));
return uiCollection;
}

// 通过test查找
public static UiObject findByText(String text)
throws UiObjectNotFoundException {
UiObject appBtn = new UiObject(new UiSelector().text(text));
return appBtn;
}

// 通过package查找
public static UiObject findByPackage(String text)
throws UiObjectNotFoundException {
UiObject appBtn = new UiObject(new UiSelector().packageName(text));
return appBtn;
}

// 通过description查找
public static UiObject findByDesc(String text)
throws UiObjectNotFoundException {
UiObject appBtn = new UiObject(new UiSelector().description(text));
return appBtn;
}

// 通过className查找
public static UiObject findByClassName(String className)
throws UiObjectNotFoundException {
UiObject appBtn = new UiObject(new UiSelector().className(className));
return appBtn;
}

// 通过descrice和index查找
public static UiObject findByDescContInstance(String text, int index)
throws UiObjectNotFoundException {
UiObject appBtn = new UiObject(new UiSelector().descriptionContains(
text).instance(index));
return appBtn;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: