1
我遇到了Robotium問題,其中waitForActivity在加載活動時完成,但其中的視圖尚未訪問。例如:如何等待活動在Robotium中加載其視圖?
solo.clickOnButton("Go");
assertTrue(solo.waitForActivity("ActivityTest", 5000));
Activity a = solo.getCurrentActivity(); // This works - a is "ActivityTest"
ArrayList<View> v = solo.getViews(); // This doesn't work - v is empty
問題似乎是活動尚未完全加載;一個睡眠延遲解決問題:
solo.clickOnButton("Go");
assertTrue(solo.waitForActivity("ActivityTest", 5000));
Activity a = solo.getCurrentActivity(); // This works - a is "ActivityTest"
solo.sleep(5000);
ArrayList<View> v = solo.getViews(); // This works - v has lots of views
這只是一個與Robotium生活的事實還是我做錯了這個?
編輯:這是我現在用的地方solo.waitForActivity的:
public Boolean waitForActivity(String name) {
int timeout = 10 * 1000;
long start = Calendar.getInstance().getTimeInMillis();
assertTrue(solo.waitForActivity(name, timeout));
solo.assertCurrentActivity(name, name);
ArrayList<View> views = solo.getViews();
while (views.isEmpty()) {
solo.sleep(1000);
views = solo.getViews();
if (Calendar.getInstance().getTimeInMillis() > start + timeout)
return false;
}
return true;
}
謝謝,很高興知道。 – DevOfZot