Android+uiautomator函数方法(1)

安卓系统使用uiautomator做UI自动化的函数方法
1、调用外部的js文件
import com.xxx.x.Xxx;//Xxx.java必须有这个java文件,并且路径要正确有效。


2、获得当前程序窗口
UiObject window = new UiObject(new UiSelector().text("窗口显示的最外层名称"));


3、按钮点击
UiObject appsTab = new UiObject(new UiSelector().text("组件名字"));
UiSelector表示一个搜索条件以获取一个特定的组件。
appsTab.click(); 点击该组件的中心点


4、等待系统反应

try {
Thread.sleep(1000);
} catch(InterruptedException ex) {
Thread.currentThread().interrupt();
}


5、导航栏操作
UiObject navi = new UiObject(new UiSelector().text("导航栏上组件名称"));


6、截图
takeScreenshot (File storePath);
方法用于对设备截屏,文件根目录位置是/data/ local / tmp。


7、给textField赋值
UIATarget.localTarget().frontMostApp().mainWindow().textFields()[0].setValue(“xxx”);


8、虚拟键盘操作
pressKeyCode (int keyCode);
pressKeyCode(int keyCode, int metaState);


9、打印屏幕上的控件树结构
dumpWindowHierarchy(File storePath);
方法用于转储当前窗口的布局的层次结构,文件根目录位置是/data/ local / tmp。


10、scrollView拖动操作
UiObject -> UiCollection ->UiScrollable
UiScrollable 用来表示可以滑动的界面元素,其继承关系如上
其Api中,setAsVerticalList(), setAsHorizontalList() 用以设置Ui元素列表是基于横向滚动还是纵向滚动。其后可以用getMaxSearchSwipes()【在搜索的一个子元素进行滚动操作时,获取允许的最大数量的滚动】
flingForward()【执行一扔步骤(5)使用默认号码向后一扔行动。】,
flingBackward()【执行一扔步骤(5)使用默认号码向后一扔行动。】 ,
scrollForward()【执行向前滚动滚动的步骤(55)使用默认号码。】,
scrollBackward()【执行向后滚动使用默认号码的滚动步骤(55)。】
scrollToEnd()【滚动到最后一个可滚动的布局元素。】,
scrollToBeginning() 【滚动开始滚动布局元素。】等函数控制滑动,
以及getChildByDescription()【在目前的滚动容器的子元素搜索】,
getChildByInstance()【搜索为您提供相匹配的选择在目前的滚动容器的子元素。】,
getChildByText() 【搜索一个子元素,在目前的滚动容器。】,
scrollIntoView()【执行一个向前滚动的动作将通过一个可见的项目的滚动布局元素,直到找到匹配选择。】,
scrollTextIntoView()【执行上滚动的布局元素向前滚动的动作,直到您所提供的文本是可见的或已经用尽,直到刷卡尝试】,… 来选择是否已经转换到具有目标元素的页面。如:
UiScrollable appViews = new UiScrollable(new UiSelector().scrollable(true));
appViews.setAsHorizontalList();
UiObject helperApp;
helperApp = appViews.getChildByText(new UiSelector()
.className(android.widget.TextView.class.getName()), " 智能家居"); 则若当前页面没有智能家居APP, 测试会自动滑动页面,直到“智能家居”App出现。

Android+uiautomator函数方法(1)

上一篇:Android Studio3.3打包报错AAPT2 process unexpectedly exit. Error output:


下一篇:Android 自定义View (三)