通过Android自带的uiautomator1.0获取移动app中的文本元素方案
以哔哩哔哩为例,找到手机界面中的关键元素并点击,实现自动化:
图片示例:
简略代码:
#查找文本方法:
UiObject obj = new UiObject((new UiSelector()).text(text));
if (obj.exists()) {
System.out.println(" 已找到:" + text);
} else {
System.out.println(" 未找到:" + text);
}
#同样点击方法:
UiObject obj = new UiObject(new UiSelector().text(text));
obj.clickAndWaitForNewWindow(TIMEOUT);#注:clickAndWaitForNewWindow与click是一样的,
但是由于项目中会遇到适配问题,建议采取clickAndWaitForNewWindow,并初始化等待时间~
System.out.println(productName + "成功点击:" + text);
也可以将其封装起来调用:
#点击:
public static void objclick(String text) throws UiObjectNotFoundException {
UiObject obj = new UiObject(new UiSelector().text(text));
obj.clickAndWaitForNewWindow(TIMEOUT);
System.out.println(" 执行点击文本元素:" + text);
}
#查找:
public static boolean findobjTxt(String text) {
UiObject obj = new UiObject(new UiSelector().text(text));
if (obj.exists()) {
System.out.println(" 已找到:" + text);
return true;
} else {
System.out.println(" 未找到:" + text);
return false;
}
}
此后一些获取手机信息,应用包名相关需要一些初始化操作,执行相关运行操作即可看到效果展示,后续会更新自动化执行框架。