概要
UiWathcher类介绍与中断监听检查条件
监听器操作
检查监听器
UiWatcher 类介绍与中断监听检查条件
1.UiWathcer类说明
1)UiWathcher用于处理脚本执行过程中遇到的非预想的步骤
2)中断监听检查条件
演示代码
/**
* UiWatcher 要放在所有的用例之前
* @throws UiObjectNotFoundException
* */
public void testWatcher() throws UiObjectNotFoundException{
//先要注册监听器
UiDevice.getInstance().registerWatcher("phone", new UiWatcher() {
//这个方法就是在监听器被调用后执行的方法
@Override
public boolean checkForCondition() {
UiObject sz = new UiObject(new UiSelector()
.text("设置"));
if(sz.exists()){
System.out.println("回到了主屏幕");
try {
sz.clickAndWaitForNewWindow();
} catch (UiObjectNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return true;
}
return false;
}
});
//执行用例步骤
UiObject uia = new UiObject(new UiSelector().
className("android.widget.LinearLayout").
index(5)).getChild(new UiSelector().text("声音"));
//使用描述获取对象
UiObject uib = new UiObject(new UiSelector().
description("声音:向上导航"));
for(int i =0; i<20 ; i++){
System.out.println("当前循环:"+i);
//当运行10次 i= 10 的时候,
if(i==10){
//取消监听,在第10次循环后不会在有监听
UiDevice.getInstance().removeWatcher("phone");
}
uia.clickAndWaitForNewWindow();
sleep(2000);
uib.clickAndWaitForNewWindow();
sleep(2000);
}
}