Robotium API -- 等待执行的方法sleep、waitFor
测试中经常出现明明有控件或者文本,但是由于界面没有载入完成或者其他原因导致assert判断的结果失败。或者两次执行,一次成功,一次失败的情况。所以需要加入这些等待某些控件或者文本载入的方法,以加强程序执行的健壮性。
sleep是固定长度时间的等待,waitFor则是等待某个控件或者文本载入后再进行下一步操作。
故两者都能用的情况下,推荐waitFor
sleep,固定时间的等待
void sleep(int time)
让测试停止若干时间以便进行下一步操作
参数:
time-停止的时间,单位是毫秒,如sleep(2000),是停止了2秒钟
返回:
无
waitFor,等待特定的某个控件或者文本载入后再进行下一步操作
boolean waitForActivity ( Class<extends android.app.Activity > activityClass | String name [, int timeout])
等待某个activity载入以进行下一步操作
参数:
activityClass-定位activity的class
name-定位activity的名称
timeout-失效时间,如果过了这个时间就不再等待,认为失败。单位毫秒,默认20秒
返回:
true-在失效时间前出现了activity
false-过了失效时间仍未找到
boolean waitForView ( Class<T> viewClass [, int timeout, boolean scroll])
等待某个view载入以进行下一步操作,通过view的class定位
参数:
viewClass-定位view的class
timeout-失效时间,如果过了这个时间就不再等待,认为失败。单位毫秒,默认20秒
scroll-是否允许滚动搜索,true表示支持,false表示只能在当前屏幕内查找
返回:
true-在失效时间前出现了view
false-过了失效时间仍未找到
boolean waitForView (int id [, int minimumNumberOfMatches, int timeout, boolean scroll])
等待某个view载入以进行下一步操作,通过view的id定位
参数:
id-定位view的id
minimumNumberOfMatches-最小指定多少才可以往下进行,0表示1个或者多个
timeout-失效时间,如果过了这个时间就不再等待,认为失败。单位毫秒,默认20秒
scroll-是否允许滚动搜索,true表示支持,false表示只能在当前屏幕内查找
返回:
true-在失效时间前出现了view
false-过了失效时间仍未找到
boolean waitForView ( android.view.View.view view [, int timeout, boolean scroll])
等待某个view载入以进行下一步操作,通过view名称定位
参数:
view-定位view的名称
timeout-失效时间,如果过了这个时间就不再等待,认为失败。单位毫秒,默认20秒
scroll-是否允许滚动搜索,true表示支持,false表示只能在当前屏幕内查找
返回:
true-在失效时间前出现了view
false-过了失效时间仍未找到
boolean waitForText (String text [, int minimumNumberOfMatches, int timeout, boolean scroll, boolean onlyVisible])
等待某个文本载入以进行下一步操作
参数:
text-等待的文本
minimumNumberOfMatches-最小指定多少才可以往下进行,0表示1个或者多个
timeout-失效时间,如果过了这个时间就不再等待,认为失败。单位毫秒,默认20秒
scroll-是否允许滚动搜索,true表示支持,false表示只能在当前屏幕内查找
onlyVisible-只有可见的才会被统计
返回:
true-在失效时间前出现了view
false-过了失效时间仍未找到
boolean waitForDialogToOpen([int timeout])
等待对话框打开
参数:
timeout-失效时间,如果过了这个时间就不再等待,认为失败。单位毫秒,默认20秒
返回:
true-在失效时间前打开了dialog
false-过了失效时间仍未打开
boolean waitForDialogToClose([int timeout])
等待对话框关闭
参数:
timeout-失效时间,如果过了这个时间就不再等待,认为失败。单位毫秒,默认20秒
返回:
true-在失效时间前关闭了dialog
false-过了失效时间仍未关闭
boolean waitForWebElement (By by [, int minimumNumberOfMatches, int timeout, boolean scroll])
等待某个web控件载入以进行下一步操作
参数:
by-定位web控件的by属性
minimumNumberOfMatches-最小指定多少才可以往下进行,0表示1个或者多个
timeout-失效时间,如果过了这个时间就不再等待,认为失败。单位毫秒,默认20秒
scroll-是否允许滚动搜索,true表示支持,false表示只能在当前屏幕内查找
返回:
true-在失效时间前出现了web控件
false-过了失效时间仍未找到
boolean waitForFragmentById (int id [, int timeout])
等待Fragment载入以进行下一步操作,以id定位Fragment
参数:
id-定位Fragment的id
timeout-失效时间,如果过了这个时间就不再等待,认为失败。单位毫秒,默认20秒
返回:
true-在失效时间前出现了Fragment
false-过了失效时间仍未找到
boolean waitForFragmentByTag (String id [, int timeout])
等待Fragment载入以进行下一步操作,以tag定位Fragment
参数:
tag-定位Fragment的tag
timeout-失效时间,如果过了这个时间就不再等待,认为失败。单位毫秒,默认20秒
返回:
true-在失效时间前出现了Fragment
false-过了失效时间仍未找到
boolean waitForLogMessage (String logMessage [, int timeout])
等待日志信息载入以进行下一步操作
参数:
logMessage-等待加载的日志
timeout-失效时间,如果过了这个时间就不再等待,认为失败。单位毫秒,默认20秒
返回:
true-在失效时间前出现了logMessage
false-过了失效时间仍未找到
boolean waitForCondition (Condition condition, int timeout)
等待某种条件加载以进行下一步操作
参数:
condition-需要满足的条件
timeout-失效时间,如果过了这个时间就不再等待,认为失败。单位毫秒,默认20秒
返回:
true-在失效时间前出现了满足condition的条件
false-过了失效时间仍未找到
注:Condition是一个interface,里面只有一个方法isSatisfied () ,用于多条件的等待
【转载:http://blog.csdn.net/tt75281920/article/details/26947017】
Robotium API -- 等待执行的方法sleep、waitFor的更多相关文章
- ASP.NET Web API 控制器执行过程(一)
ASP.NET Web API 控制器执行过程(一) 前言 前面两篇讲解了控制器的创建过程,只是从框架源码的角度去简单的了解,在控制器创建过后所执行的过程也是尤为重要的,本篇就来简单的说明一下控制器在 ...
- Web jquery表格组件 JQGrid 的使用 - 4.JQGrid参数、ColModel API、事件及方法
系列索引 Web jquery表格组件 JQGrid 的使用 - 从入门到精通 开篇及索引 Web jquery表格组件 JQGrid 的使用 - 4.JQGrid参数.ColModel API.事件 ...
- Android常用控件及对应Robotium API
最近发现Android控件不熟悉,看Robotium的API都费劲. 常用Android控件: 控件类型 描述 相关类 Button 按钮,可以被用户按下或点击,以执行⼀个动作 Button Text ...
- 使用ASP.NET Web Api构建基于REST风格的服务实战系列教程【五】——在Web Api中实现Http方法(Put,Post,Delete)
系列导航地址http://www.cnblogs.com/fzrain/p/3490137.html 前言 在Web Api中,我们对资源的CRUD操作都是通过相应的Http方法来实现——Post(新 ...
- 微信JS-SDK“分享信息设置”API及数字签名生成方法(NodeJS版本)
原文:微信JS-SDK"分享信息设置"API及数字签名生成方法(NodeJS版本) 先上测试地址以示成功: 用微信打开下面地址测试 http://game.4gshu.com/de ...
- Web Api中实现Http方法(Put,Post,Delete)
在Web Api中实现Http方法(Put,Post,Delete) 系列导航地址http://www.cnblogs.com/fzrain/p/3490137.html 前言 在Web Api中,我 ...
- 如何同时完成多个ajax之后再执行某个方法 ? 使用$.when().done();
jQuery中的$.when()方法比较复杂,这里不作全面讲解,只写一个同时完成多个ajax请求后执行操作的方法. 有时候我们需要等待多个ajax执行完以后,再执行某个操作. 写法如下: $.when ...
- 多线程--wait()和notify(),Thread中的等待和唤醒方法
package com.thread.test; public class SimpleMN { final static Object object = new Object(); public s ...
- 基于DOMContentLoaded实现文档加载完成后执行的方法
我们有时可能需要一些在页面加载完成之后执行的方法,其实js原生就提供了onload方法,所以我们最简单的办法就是直接给onload赋值一个函数,在页面加载完成之后就会自动执行 widnow.onloa ...
随机推荐
- 【转】 自定义iOS7导航栏背景,标题和返回按钮文字颜色
原文:http://blog.csdn.net/mad1989/article/details/41516743 UIBarButtonItem,navigationItem,backBarButto ...
- 用Hopper搞定Mac迅雷的会员以及离线下载功能
转自 用Hopper搞定Mac迅雷的会员以及离线下载功能 先定位Mac迅雷的可执行文件 snakeninnys-iMac:~ snakeninny$ ls /Applications/Thunder. ...
- JS屏蔽右键菜单,复制,粘帖xxxxx........
//屏蔽右键菜单 document.oncontextmenu = function (event) { if (window.event) { event = window.event; } try ...
- arp断网攻击解决办法
局域网中有这个提示arp断网攻击是正常的,说明防火墙已经拦截了,是有人用P2P工具控制你的网速,或者是局域网有机器中病毒了也会有这样的提示,不过不用担心,今天给大家带来几个防止arp断网攻击的办法,希 ...
- 较详细的sqlserver数据库备份、恢复(转)
C#实现SQL数据库备份与恢复 有两种方法,都是保存为.bak文件.一种是直接用Sql语句执行,另一种是通过引用SQL Server的SQLDMO组件来实现: .通过执行Sql语句来实现 注意,用Sq ...
- SOLID (面向对象设计) 基本原则
SOLID (面向对象设计) 基本原则 在 程序设计领域, SOLID (单一功能.开闭原则.里氏替换.接口隔离以及依赖反转)是由罗伯特•C•马丁在21世纪早期[1] 引入的记忆术首字母缩略 ...
- MVC视图中Html.DropDownList()辅助方法的使用
我们先在控制器中准备好一个SelectList类型,然后通过ViewBag.List传入视图中.SelectList类型是ASP.NET MVC专门为列表有关的HTML辅助方法提供选项的,例如,Htm ...
- gets与scanf
gets与scanf 从功能上可以看出不同之处:1 终止条件不同: gets只有遇到\n时才会结束输入,而scanf遇到空格或制表符时,也会结束输入.比如输入"test string\n&q ...
- C:\WINDOWS\system32\config\systemprofile\Desktop引用了一个不可用的位置
使用迅雷下载压缩文件到桌面时,下载完毕后,如果直接点击"打开文件",则迅雷会报错: C:\WINDOWS\system32\config\systemprofile\Desktop ...
- 简单对比Spark和Storm
2013年参与开发了一个类似storm的自研系统, 2014年使用过spark 4个多月,对这两个系统都有一些了解. 下面是我关于这两个系统的简单对比: Spark: 1. 基于数据并行,https: ...