uiautomator中UiWatcher学习笔记(6)
来源:互联网 发布:c#js模拟点击事件 编辑:程序博客网 时间:2024/05/14 18:40
转:http://blog.csdn.net/itfootball/article/details/24054455
4.1版本
UiWatcher接口就一个方法
checkForCondition()
我们可以为一个UiObject注册一个UiWatcher,通过UiDevice.registerWatcher()方法。UiWatcher前辈总结文章。UiWatcher处理一些在ui测试过程中一些突发情况,这时候可以通过在checkForCondition做一些处理。让它返回到正常情况,继续让case跑下去。
可以看一下我用这个接口实现的一个接电话的case
uiautomator实现接电话的case
转:http://blog.csdn.net/itfootball/article/details/42464875
1.UiWatcher
该接口中只有一个方法
当我们通过UiSelector匹配控件的时候,如果失败后,会进入该方法进行验证。意思只要我们的控件找不到,都会进入该方法中,那么我们就可以在该方法中判断是否有电话打进来。首先我们去查看有电话打进来的界面,找到一个可以确定是接听界面就行。我们以拒绝接听按钮为标识(不缺钱的可以用接听电话为标识)。
case的写法
case解释
首先要了解进入uiwatcher方法中的机制,是在你某个控件找不到的情况下会进入。但是你得保证进入以后处理完来电界面以后,这条case得保证正确,那么说明回来以后这个控件要能找到。刚开始的时候,我认为来电后,点击接听,会出现通话画面,这个时候我们来判断该界面上的某一个控件是否存在,这样我们就能保证这条case执行完毕了。但是实验后,是不可以的。uiautomator只会在开始的界面上寻找,像通话界面它只会认为它是个弹出框。所以它会认为case执行失败。
所以后来我想到的解决方案是首先在主页面上找一个控件,点击后是没反应的,这样我就循环去点击。设定一个超时时间和一个标志位flag,让case一直等待着。当来电界面触发后,会进入uiwatcher后,处理完来电界面后,将标志flag设置为false。这样回来后这个控件仍然存在,但是这个时候flag已经为false。所以就不会再循环点击主界面上的控件了。case也会被认为是执行成功了,当不再进入循环后,我们判断一下flag的值。如果为true。说明没有被改变,那么也就没有接收到来电的界面。这个时候也应该判断为case失败。
执行case后的输出
后续的扩展
既然能监听到来电,那么下一步要实现控制2台机器实现A给B打电话的功能。这个要用到框架啦。
- uiautomator中UiWatcher学习笔记(6)
- uiautomator中UiWatcher学习笔记(6)
- UiAutomator UiWatcher
- Uiautomator 2.0之UiWatcher类学习小记
- UiAutomator之UiCollection UiScrollable UiWatcher
- UiAutomator之UiCollection UiScrollable UiWatcher
- Android UiAutomator:UiWatcher的使用
- uiautomator中UiSelector学习笔记(3)
- uiautomator中UiCollection学习笔记(4)
- uiautomator中AccessibilityNodeInfoDumper学习笔记(7)
- uiautomator中InteractionController学习笔记(8)
- uiautomator中QueryControlller学习笔记(9)
- uiautomator中UiAutomatorBridge学习笔记(10)
- uiautomator中UiSelector学习笔记(3)
- uiautomator中UiCollection学习笔记(4)
- uiautomator中AccessibilityNodeInfoDumper学习笔记(7)
- Uiautomator 监听类 UiWatcher 场景应用
- Android uiautomator 学习笔记
- GitHub配置
- MySQL 入门(四)—— 数据库操作
- D - How Many Tables
- Eclipse编辑jsp、js文件时卡死现象的解决办法汇总
- 最好的8个Java RESTful框架
- uiautomator中UiWatcher学习笔记(6)
- 批量修改文件名
- 自定义控件,动画效果的进度圆环RingProgressBar
- holtek bs84c12A 单片机开发总结
- 简单快速了解gcc(新手入门)
- 时间管理
- 20.IDA-修改二进制文件、显示修改点
- 打开和保存文件对话框
- 嵌入式Linux学习路线图