Uiautomator 2.0之UiWatcher类学习小记

1. 主要功能

使用此方法可以处理中断问题,从而保证测试用例的正常运行。

2. 相关API

 

API说明
registerWatcher (String name, UiWatcher watcher)注册一个监听器,当无法匹配到对象的时候,触发监听器
removeWatcher (String name)取消之前注册的指定的监听器
resetWatcherTriggers ()重置已出发过的UiWatcher
runWatchers ()运行所有的监听器


3.简单示例

 

3.1 用例代码

 1 @Test
 2     public void testCase09() throws InterruptedException {
 3 
 4         final UiObject2 ui = mDevice.findObject(By.text("短信"));
 5         //注册监听器
 6         mDevice.registerWatcher("testWatcher", new UiWatcher() {
 7             @Override
 8             public boolean checkForCondition() {
 9                 if(mDevice.hasObject(By.text("联系人"))){
10                     ui.click();
11                     Log.i("testWatcher", "监听器被触发了");
12                     return true;
13                 }
14                 Log.i("testWatcher", "监听器未被触发");
15                 return false;
16             }
17         });
18 
19         //运行用例步骤
20         mDevice.wait(Until.findObject(By.text("写短信")), 2000);
21         UiObject2 btn = mDevice.findObject(By.text("写短信"));
22         btn.click();
23         Thread.sleep(2000);
24         mDevice.pressBack();
25 
26         //重置监听器
27         mDevice.resetWatcherTriggers();
28         mDevice.wait(Until.findObject(By.text("写短信")), 2000);
29         btn.click();
30         Thread.sleep(2000);
31         mDevice.pressBack();
32         Log.i("testWatcher", "重置监听器成功");
33 
34         //移除监听器
35         mDevice.removeWatcher("testWatcher");
36         Log.i("testWatcher", "移除监听器成功");
37         mDevice.wait(Until.findObject(By.text("写短信")), 2000);
38         btn.click();
39         Thread.sleep(2000);
40         mDevice.pressBack();
41 
42     }

3.2 运行结果

原创:http://blog.csdn.net/swordgirl2011/article/details/51010683

转载于:https://www.cnblogs.com/successcai/p/6102267.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值