51Testing软件测试论坛

标题: 【我分享】 Robotium API 翻译(四)——等待执行的方法sleep、waitFor [打印本页]

作者: 张亚洲    时间: 2015-1-6 08:29
标题: 【我分享】 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-过了失效时间仍未找到











欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2