我正在使用机器人。今天我遇到了一点问题。点击按钮后,应用程序将转到下一个活动。我需要等待出现一些按钮。
View am = solo.getView(R.id.btn_login);
solo.waitForCondition(am.isShown(), 5000);
此代码不起作用。
如果 am 被识别为
,它也无效Button am = solo.getButton(R.id.btn_login);
请帮帮我解决一下!
答案 0 :(得分:6)
您必须实现Condition
界面:
solo.waitForCondition(new Condition() {
@Override
public boolean isSatisfied() {
return am.isShown();
}
}, 5000);
在isSatisfied()
中你可以随意测试你需要的东西:)
答案 1 :(得分:0)
isShown()经常被误解。当视图及其所有祖先可见时,它返回true。
我想你可以试试:
solo.waitForView(...)
答案 2 :(得分:0)
在Robotium中,有不同的waitForCondition。如:
solo.waitForView() //if a certain view is shown after the load screen is done.
solo.waitForDialogToClose() //waits for the dialog to close
solo.waitForActivity() // if there is a activity change
solo.waitForText() //if a certain text appears after the loading is done
在您的情况下,由于您知道等待项目的ID,您可以尝试:
solo.waitForView(R.id.btn_login, 5000);