Uiautomator 2.0之UiWatcher类学习小记
2016-03-30 01:50
603 查看
1. 主要功能
使用此方法可以处理中断问题,从而保证测试用例的正常运行。
2. 相关API
3.简单示例
3.1 用例代码
使用此方法可以处理中断问题,从而保证测试用例的正常运行。
2. 相关API
API | 说明 |
registerWatcher (String name, UiWatcher watcher) | 注册一个监听器,当无法匹配到对象的时候,触发监听器 |
removeWatcher (String name) | 取消之前注册的指定的监听器 |
resetWatcherTriggers () | 重置已出发过的UiWatcher |
runWatchers () | 运行所有的监听器 |
3.1 用例代码
@Test public void testCase09() throws InterruptedException { final UiObject2 ui = mDevice.findObject(By.text("短信")); //注册监听器 mDevice.registerWatcher("testWatcher", new UiWatcher() { @Override public boolean checkForCondition() { if(mDevice.hasObject(By.text("联系人"))){ ui.click(); Log.i("testWatcher", "监听器被触发了"); return true; } Log.i("testWatcher", "监听器未被触发"); return false; } }); //运行用例步骤 mDevice.wait(Until.findObject(By.text("写短信")), 2000); UiObject2 btn = mDevice.findObject(By.text("写短信")); btn.click(); Thread.sleep(2000); mDevice.pressBack(); //重置监听器 mDevice.resetWatcherTriggers(); mDevice.wait(Until.findObject(By.text("写短信")), 2000); btn.click(); Thread.sleep(2000); mDevice.pressBack(); Log.i("testWatcher", "重置监听器成功"); //移除监听器 mDevice.removeWatcher("testWatcher"); Log.i("testWatcher", "移除监听器成功"); mDevice.wait(Until.findObject(By.text("写短信")), 2000); btn.click(); Thread.sleep(2000); mDevice.pressBack(); }3.2 运行结果
相关文章推荐
- 【转】JS模块化工具requirejs教程(二):基本知识
- 【转】JS模块化工具requirejs教程(一):初识requirejs
- LeetCode Implement Stack using Queues
- iOS-UIKit继承图
- iOS9 UIAlertView的简单使用
- Ueditor结合七牛云及百度云存储(JAVA版,ueditor-1.4.3)实现图片文件上传
- UI标签库专题一:JEECG智能开发平台 BaseTag(样式表和JS引入标签)
- Windows下安装设置Atlassian-Confluence-5.1.4并破解汉化(另附图解)
- Fluent Nhibernate and Stored Procedures
- Fluent Nhibernate and Stored Procedures
- IOS学习笔记(三)之UIButton
- Fluent Nhibernate and Stored Procedures
- 用requests爬取百度搜索数据
- Quicksum -SilverN
- Android Volley完全解析(三),定制自己的Request
- [leetcode 300] Longest Increasing Subsequence
- iOS之UILabel自适应大小
- CEGUI0.8.4支持中文
- ERROR 1366 (HY000): Incorrect string value: '\xE7\x9A\x84' for column 'name' at row 1
- 另种获取key和value