Uiautomator 2.0之Until类学习小记
1. 状态条件-Uiobject2Condtion
1.1 一个UiObject2Condition代表UiObject2满足某个条件的特定状态,主要用于获取到组件释放处于某种状态。
1.2 简单示例
@Test
public void testCase05(){
UiObject2 ui = mDevice.findObject(By.res("com.android.setting:id/switch_widget"));
if (ui.isChecked()){
ui.click();
}
Assert.assertTrue(ui.wait(Until.checked(false),1000));
mDevice.pressBack(); }
2. 搜索条件 - SearchCondition
2.1 SearchCondition代表满足一定条件的,需要查找的UI元素,主要用于判断是否存在某个组件。
2.2 简单示例
@Test
public void testCase05(){
mDevice.wait(Until.findObject(By.res("com.android.setting:id/switch_widget")),1000);
UiObject2 ui = mDevice.findObject(By.res("com.android.setting:id/switch_widget")); if (ui.isChecked()){
ui.click();
} Assert.assertTrue(mDevice.wait(Until.gone(By.text("开启")),2000));
Assert.assertTrue(mDevice.wait(Until.hasObject(By.text("关闭")),1000));
}
3. 事件条件 - EventCondition
3.1 EventCondition是一种条件,它依赖于一个事件或一系列事件发生,主要用于判断某个事件是否发生了。
3.2 简单示例
@Test
public void testCase05(){
UiObject2 btn = mDevice.findObject(By.text("WLAN"));
Assert.assertTrue(btn.clickAndWait(Until.newWindow(), 1000)); final UiObject2 scrollList = mDevice.findObject(By.clazz("android.widget.ScrollView"));
Boolean result = mDevice.performActionAndWait(new Runnable() {
@Override
public void run() {
for (int i = 0; i < 10; i++) {
scrollList.scroll(Direction.DOWN, 0.5f);
}
}
}, Until.scrollFinished(Direction.DOWN), 10000); Assert.assertTrue(result);
}
原创:http://blog.csdn.net/swordgirl2011/article/details/50992135
Uiautomator 2.0之Until类学习小记的更多相关文章
- Uiautomator 2.0之BySelector类学习小记
1. BySelector与By静态类 1.1 BySelector类为指定搜索条件进行匹配UI元素, 通过UiDevice.findObject(BySelector)方式进行使用. 1.2 By类 ...
- Uiautomator 2.0之Configrator类学习小记
1. Configration类介绍 1.1. Configrator用于设置脚本动作的默认延时 1.2 Configrator功能: 1.2.1 可调节两个模拟动作之间的默认间隔 1.2.2 可调 ...
- Uiautomator 2.0之UiObject2类学习小记
1. 基础动作 1.1. 相关API介绍 API 说明 clear() 清楚编辑框内的内容 click() 点击一个对象 clickAndWait(EventCondition<R> co ...
- Uiautomator 2.0之UiWatcher类学习小记
1. 主要功能 使用此方法可以处理中断问题,从而保证测试用例的正常运行. 2. 相关API API 说明 registerWatcher (String name, UiWatcher watcher ...
- CSS学习小记
搜狗主页页面CSS学习小记 1.边框的处理 要形成上图所示的布局效果,即,点选后,导航下面的边框不显示而其他的边框形成平滑的形状.相对于把导航的下面边框取消然后用空白覆盖掉下面搜索栏的边框比较而言 ...
- mongodb入门学习小记
Mongodb 简单入门(个人学习小记) 1.安装并注册成服务:(示例) E:\DevTools\mongodb3.2.6\bin>mongod.exe --bind_ip 127.0.0.1 ...
- 【转】Date类学习总结(Calendar Date 字符串 相互转换 格式化)
原文网址:http://www.blogjava.net/jerry-zhaoj/archive/2008/10/08/233228.html Date类学习总结 1.计算某一月份的最大天数 Cale ...
- Gcd&Exgcd算法学习小记
Preface 对于许多数论问题,都需要涉及到Gcd,求解Gcd,常常使用欧几里得算法,以前也只是背下来,没有真正了解并证明过. 对于许多求解问题,可以列出贝祖方程:ax+by=Gcd(a,b),用E ...
- Uiautomator - 6.0 以上权限受限问题
问题:在android studio中使用UiAutomator 2.0 编写测试用例时,要实现截图(非命令方式),写入文件时出现权限被拒绝的提示.例如: java.io.FileNotFoundEx ...
随机推荐
- files list file for package 'xxx' is missing final newline
#!/usr/bin/python # 8th November, 2009 # update manager failed, giving me the error: # 'files list f ...
- 使EditText不要在页面打开时自动获取焦点(因为软键盘会自动弹出)
当页面上有EditText时,第一个EditText会在页面打开时自动的获取焦点,这样带来的问题就是系统键盘会自动的弹出来. 解决方法比较简单只要为EditText的父控件设置一下就行了: andro ...
- Time-travel Models
1. Standard Iterative Branching model Source Code Butterfly Effect Next Edge of Tomorrow D ...
- golang 裸写一个pool池控制协程的大小
这几天深入的研究了一下golang 的协程,读了一个好文 http://mp.weixin.qq.com/s?__biz=MjM5OTcxMzE0MQ==&mid=2653369770& ...
- QGis、Qt对话框上的OK、Open、Cancel、Help等英文翻译
成功编译qgis,启动程序发现对话框上的OK.Open.Cancel.Help等依然是英文字段,然后查找源码看这些字段是否都添加到了语言翻译包中: 最后发现这些按钮都是qt的QTGui4库中的QDia ...
- 格式化input输入内容(金额)
项目中要用到格式化金额输入框,要求每三个数字用逗号分割开. 添加一个directive angular.module('myApp.directives', []) .directive('filte ...
- placehoder不兼容ie9以下和opero12以下
颜色设置 解决方案一: ::-webkit-input-placeholder { /* WebKit browsers */ color:#999; } :-moz-placeholder { /* ...
- CentOS7 SWAP 设置 (实测 笔记)
首先查看当前的内存及swap情况(参数 -h,-m ) [root@centos ~]# free -h 查看swap信息,包括文件和分区的详细信息 [root@centos ~]# swapon - ...
- <十三>JDBC_dbcp数据库连接池
配置文件:jdbc.properties username=rootpassword=kkdriverClassName=com.mysql.jdbc.Driverurl=jdbc:mysql://1 ...
- mysql 表表连接的问题。
select * from table a, table b where a.aid = b.bid and aid >100 这样连接,如果a有数据,b没有数据, a.aid = b.bid ...