张亚洲 发表于 2015-1-6 08:29:11

【我分享】 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的classname-定位activity的名称timeout-失效时间,如果过了这个时间就不再等待,认为失败。单位毫秒,默认20秒返回:true-在失效时间前出现了activityfalse-过了失效时间仍未找到

boolean waitForView ( Class<T> viewClass [, int timeout, boolean scroll])等待某个view载入以进行下一步操作,通过view的class定位参数:viewClass-定位view的classtimeout-失效时间,如果过了这个时间就不再等待,认为失败。单位毫秒,默认20秒scroll-是否允许滚动搜索,true表示支持,false表示只能在当前屏幕内查找
返回:true-在失效时间前出现了viewfalse-过了失效时间仍未找到
boolean waitForView (int id [, int minimumNumberOfMatches, int timeout, boolean scroll])等待某个view载入以进行下一步操作,通过view的id定位参数:id-定位view的idminimumNumberOfMatches-最小指定多少才可以往下进行,0表示1个或者多个timeout-失效时间,如果过了这个时间就不再等待,认为失败。单位毫秒,默认20秒scroll-是否允许滚动搜索,true表示支持,false表示只能在当前屏幕内查找返回:true-在失效时间前出现了viewfalse-过了失效时间仍未找到

boolean waitForView ( android.view.View.viewview [, int timeout, boolean scroll])等待某个view载入以进行下一步操作,通过view名称定位参数:view-定位view的名称timeout-失效时间,如果过了这个时间就不再等待,认为失败。单位毫秒,默认20秒scroll-是否允许滚动搜索,true表示支持,false表示只能在当前屏幕内查找返回:true-在失效时间前出现了viewfalse-过了失效时间仍未找到
boolean waitForText (String text [, int minimumNumberOfMatches, int timeout, boolean scroll, boolean onlyVisible])等待某个文本载入以进行下一步操作
参数:text-等待的文本minimumNumberOfMatches-最小指定多少才可以往下进行,0表示1个或者多个
timeout-失效时间,如果过了这个时间就不再等待,认为失败。单位毫秒,默认20秒scroll-是否允许滚动搜索,true表示支持,false表示只能在当前屏幕内查找onlyVisible-只有可见的才会被统计
返回:true-在失效时间前出现了viewfalse-过了失效时间仍未找到




页: [1]
查看完整版本: 【我分享】 Robotium API 翻译(四)——等待执行的方法sleep、waitFor