zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    JDBC笔记01-JDBC,Connection,Statement,ResultSet,PreparedStatement,Properties
    JavaWeb笔记05-解决线程安全问题
    JavaWeb笔记04-解决GET与POST乱码问题
    JavaWeb笔记02-Tomcat
    HttpServletResponse类
    ServletContext类
    Servlet类以及简单的登录功能
    http和Tomcat协议
    XML
    反射
  • 原文地址:https://www.cnblogs.com/successcai/p/6102267.html
Copyright © 2011-2022 走看看