【发布时间】:2016-09-06 12:51:58
【问题描述】:
我想检查视图是否可见,所以我在视图上使用了 isShown() 方法,但它非常没用,因为我创建了自己的视图并且这些依赖于 id,所以这里是示例视图:
private static final String BTN_ADD_CURRENCY_ALERT = "action_add_currency_alert";
private View btn_AddAlert() {
return mainHelper.getView(BTN_ADD_CURRENCY_ALERT);
}
这是getView()的主体;
public View getView(String id) {
return solo.getView(id);
}
然后我想看看这个元素是否可见(如果不可见则返回 false)。
我这样称呼它
if (btn_addAlert().isShown()){...}
问题是,当我调用 btn_addAlert() 并且视图不可见时,我得到 AssertionFailedError 并且它甚至不会进入 isShown()。
我发现异常
private boolean catcher() {
try {
btn_addAlert().isShown();
return true;
} catch (AssertionFailedError e) {
return false;
}
}
但这是错误的方式,因为异常不适用于此,而且我必须等待整个超时时间才能使其抛出异常。然后它就返回 false。
那么在这种情况下我该怎么办?
先谢谢了。
【问题讨论】:
标签: android android-studio android-testing robotium ui-testing