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类学习小记的更多相关文章

  1. Uiautomator 2.0之BySelector类学习小记

    1. BySelector与By静态类 1.1 BySelector类为指定搜索条件进行匹配UI元素, 通过UiDevice.findObject(BySelector)方式进行使用. 1.2 By类 ...

  2. Uiautomator 2.0之Configrator类学习小记

    1. Configration类介绍 1.1. Configrator用于设置脚本动作的默认延时 1.2  Configrator功能: 1.2.1 可调节两个模拟动作之间的默认间隔 1.2.2 可调 ...

  3. Uiautomator 2.0之UiObject2类学习小记

    1. 基础动作 1.1. 相关API介绍 API 说明 clear() 清楚编辑框内的内容 click() 点击一个对象 clickAndWait(EventCondition<R> co ...

  4. Uiautomator 2.0之UiWatcher类学习小记

    1. 主要功能 使用此方法可以处理中断问题,从而保证测试用例的正常运行. 2. 相关API API 说明 registerWatcher (String name, UiWatcher watcher ...

  5. CSS学习小记

    搜狗主页页面CSS学习小记 1.边框的处理   要形成上图所示的布局效果,即,点选后,导航下面的边框不显示而其他的边框形成平滑的形状.相对于把导航的下面边框取消然后用空白覆盖掉下面搜索栏的边框比较而言 ...

  6. mongodb入门学习小记

    Mongodb 简单入门(个人学习小记) 1.安装并注册成服务:(示例) E:\DevTools\mongodb3.2.6\bin>mongod.exe --bind_ip 127.0.0.1 ...

  7. 【转】Date类学习总结(Calendar Date 字符串 相互转换 格式化)

    原文网址:http://www.blogjava.net/jerry-zhaoj/archive/2008/10/08/233228.html Date类学习总结 1.计算某一月份的最大天数 Cale ...

  8. Gcd&Exgcd算法学习小记

    Preface 对于许多数论问题,都需要涉及到Gcd,求解Gcd,常常使用欧几里得算法,以前也只是背下来,没有真正了解并证明过. 对于许多求解问题,可以列出贝祖方程:ax+by=Gcd(a,b),用E ...

  9. Uiautomator - 6.0 以上权限受限问题

    问题:在android studio中使用UiAutomator 2.0 编写测试用例时,要实现截图(非命令方式),写入文件时出现权限被拒绝的提示.例如: java.io.FileNotFoundEx ...

随机推荐

  1. 通过 listboxitem 查找属于listbox第几条数据

    public override System.Windows.Style SelectStyle(object item, System.Windows.DependencyObject contai ...

  2. NOI2016退役记

    具体写点儿什么还没想好,先挖坑吧.

  3. 2-Sat问题

    二分+2-Sat 判断是否可行 输出字典序最小的解 输出字典序可行解 其实这些都是小问题,最重要的是建图,请看论文. 特殊的建边方式,如果a b是一对,a必须选,那么就是b->a建边. HDU ...

  4. Java:单例模式的七种写法

    第一种(懒汉,线程不安全): 1 public class Singleton { 2 private static Singleton instance; 3 private Singleton ( ...

  5. Java_位运算(移位、位与、或、异或、非)

    public class Test { public static void main(String[] args) { // 1.左移( << ) // 0000 0000 0000 0 ...

  6. Files 的值“<<<<<<< .mine”无效。路径中具有非法字符

    解决冲突,告诉SVN这个问题已解决(Resolved). 一般更简单些:在你的工程OBJ/DEBUG目录下,找到 工程名.csproj.FileListAbsolute.txt的文件打开并删除含有'& ...

  7. Xilinx下载安装与在win10闪退问题解决方法

    Xilinx的14.4版本的下载链接(百度云的上传了N多次都提示失败,所以就换了360云盘上传) https://yunpan.cn/cPHKLjbX9RueM (提取码:2a5a)下载后解压到以下目 ...

  8. apache配置反向代理

    http.conf 去掉前面的#号 LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_http_module modules/ ...

  9. 自己写的几个android自定义组件

    http://www.see-source.com/androidwidget/list.html 多多指点,尤其是自定义组件的适配问题,希望能有更好的方法

  10. 用C#语言在Visual Studio 2010里开发一个自定义的PowerShell Cmdlet

    1. 打开Visual Studio 2010 2. 新建一个基于Class Library的项目 3. 给项目起个名字然后OK 4. 为项目添加下列Reference System.Manageme ...